kernel-hacking-2024-linux-s.../drivers/md
Mike Snitzer c1f0c183f6 dm snapshot: allow live exception store handover between tables
Permit in-use snapshot exception data to be 'handed over' from one
snapshot instance to another.  This is a pre-requisite for patches
that allow the changes made in a snapshot device to be merged back into
its origin device and also allows device resizing.

The basic call sequence is:

  dmsetup load new_snapshot (referencing the existing in-use cow device)
     - the ctr code detects that the cow is already in use and allows the
       two snapshot target instances to be linked together
  dmsetup suspend original_snapshot
  dmsetup resume new_snapshot
     - the new_snapshot becomes live, and if anything now tries to access
       the original one it will receive -EIO
  dmsetup remove original_snapshot

(There can only be two snapshot targets referencing the same cow device
simultaneously.)

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2009-12-10 23:52:24 +00:00
..
raid6test md: drivers/md/unroll.pl replaced with awk analog 2009-10-16 16:25:19 +11:00
.gitignore
bitmap.c md: remove clumsy usage of do_sync_mapping_range from bitmap code 2009-10-16 15:56:01 +11:00
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: keep old table until after resume succeeded 2009-12-10 23:52:24 +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: allow live exception store handover between tables 2009-12-10 23:52:24 +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: keep old table until after resume succeeded 2009-12-10 23:52:24 +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: drivers/md/unroll.pl replaced with awk analog 2009-10-16 16:25:19 +11:00
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 md: fix problems with RAID6 calculations for DDF. 2009-10-16 16:27:34 +11:00
raid6algos.c
raid6altivec.uc md: drivers/md/unroll.pl replaced with awk analog 2009-10-16 16:25:19 +11:00
raid6int.uc md: drivers/md/unroll.pl replaced with awk analog 2009-10-16 16:25:19 +11:00
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c
raid10.h
unroll.awk md: drivers/md/unroll.pl replaced with awk analog 2009-10-16 16:25:19 +11:00