kernel-hacking-2024-linux-s.../drivers/md
Alasdair G Kergon a794015597 dm: bind new table before destroying old
When replacing a mapped device's table during a 'resume', delay the
destruction of the old table until the new one is successfully in place.

This will make it easier for a later patch to transfer internal state
information from the old table to the new one (something we do not currently
support) while giving us more options for reversion if a later part
of the operation fails.

Devices are always in the suspended state during dm_swap_table().
This patch reinforces the requirement that all I/O must have been
flushed from the table targets while in this state (including any in
workqueues).  In the case of 'noflush' suspending, unprocessed
I/O should have been 'pushed back' to the dm core prior to this point,
for resubmission after the new table is in place.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2009-12-10 23:52:23 +00:00
..
raid6test
.gitignore
bitmap.c
bitmap.h
dm-bio-record.h
dm-crypt.c dm crypt: make wipe message also wipe essiv key 2009-12-10 23:51:57 +00:00
dm-delay.c
dm-exception-store.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-exception-store.h dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-io.c dm io: handle empty barriers 2009-12-10 23:52:22 +00:00
dm-ioctl.c dm ioctl: retrieve status from inactive table 2009-12-10 23:52:22 +00:00
dm-kcopyd.c dm kcopyd: accept zero size jobs 2009-12-10 23:52:13 +00:00
dm-linear.c
dm-log-userspace-base.c dm log: userspace fix incorrect luid cast in userspace_ctr 2009-10-16 23:18:15 +01:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c dm raid1: report flush errors separately in status 2009-12-10 23:52:02 +00:00
dm-mpath.c dm mpath: prevent io from work queue while suspended 2009-12-10 23:52:21 +00:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid1.c dm raid1: explicitly initialise bio_lists 2009-12-10 23:52:06 +00:00
dm-region-hash.c dm raid1: remove bio_endio from dm_rh_mark_nosync 2009-12-10 23:52:05 +00:00
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-snap-transient.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-snap.c dm snapshot: track suspended state in target 2009-12-10 23:52:12 +00:00
dm-stripe.c
dm-sysfs.c dm: sysfs add empty release function to avoid debug warning 2009-12-10 23:51:53 +00:00
dm-table.c dm: bind new table before destroying old 2009-12-10 23:52:23 +00:00
dm-target.c
dm-uevent.c dm: avoid _hash_lock deadlock 2009-12-10 23:51:52 +00:00
dm-uevent.h
dm-zero.c
dm.c dm: bind new table before destroying old 2009-12-10 23:52:23 +00:00
dm.h dm: add dm_deleting_md function 2009-12-10 23:52:20 +00:00
faulty.c
Kconfig
linear.c
linear.h
Makefile
md.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6 2009-12-08 07:38:50 -08:00
md.h
mktables.c
multipath.c
multipath.h
raid0.c
raid0.h
raid1.c md: revert incorrect fix for read error handling in raid1. 2009-12-01 17:30:59 +11:00
raid1.h
raid5.c md/raid5: Allow dirty-degraded arrays to be assembled when only party is degraded. 2009-11-13 17:47:00 +11:00
raid5.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c
raid10.h
unroll.awk