Mike Snitzer
a63a5cf84d
dm: improve block integrity support
...
The current block integrity (DIF/DIX) support in DM is verifying that
all devices' integrity profiles match during DM device resume (which
is past the point of no return). To some degree that is unavoidable
(stacked DM devices force this late checking). But for most DM
devices (which aren't stacking on other DM devices) the ideal time to
verify all integrity profiles match is during table load.
Introduce the notion of an "initialized" integrity profile: a profile
that was blk_integrity_register()'d with a non-NULL 'blk_integrity'
template. Add blk_integrity_is_initialized() to allow checking if a
profile was initialized.
Update DM integrity support to:
- check all devices with _initialized_ integrity profiles match
during table load; uninitialized profiles (e.g. for underlying DM
device(s) of a stacked DM device) are ignored.
- disallow a table load that would result in an integrity profile that
conflicts with a DM device's existing (in-use) integrity profile
- avoid clearing an existing integrity profile
- validate all integrity profiles match during resume; but if they
don't all we can do is report the mismatch (during resume we're past
the point of no return)
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2011-04-05 23:52:43 +02:00
..
bitmap.c
Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block
2011-03-24 10:16:26 -07:00
bitmap.h
md: use sector_t in bitmap_get_counter
2010-10-28 17:32:26 +11:00
dm-bio-record.h
dm-crypt.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
2011-03-25 20:51:44 -07:00
dm-delay.c
dm: convert workqueues to alloc_ordered
2011-01-13 19:59:57 +00:00
dm-exception-store.c
dm snapshot: test chunk size against both origin and snapshot
2010-08-12 04:13:51 +01:00
dm-exception-store.h
dm snapshot: test chunk size against both origin and snapshot
2010-08-12 04:13:51 +01:00
dm-flakey.c
dm: add flakey target
2011-03-24 13:54:24 +00:00
dm-io.c
block: kill off REQ_UNPLUG
2011-03-10 08:52:27 +01:00
dm-ioctl.c
dm ioctl: add flag to wipe buffers for secure data
2011-03-24 13:54:30 +00:00
dm-kcopyd.c
block: kill off REQ_UNPLUG
2011-03-10 08:52:27 +01:00
dm-linear.c
dm: use dm_target_offset macro
2010-08-12 04:14:11 +01:00
dm-log-userspace-base.c
dm log userspace: add version number to comms
2011-01-13 19:59:52 +00:00
dm-log-userspace-transfer.c
netlink: kill eff_cap from struct netlink_skb_parms
2011-03-03 13:32:07 -08:00
dm-log-userspace-transfer.h
dm-log.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
2011-03-25 20:51:44 -07:00
dm-mpath.c
dm mpath: allow table load with no priority groups
2011-03-24 13:54:33 +00:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c
block: remove per-queue plugging
2011-03-10 08:52:07 +01:00
dm-raid1.c
block: remove per-queue plugging
2011-03-10 08:52:07 +01:00
dm-region-hash.c
dm: implement REQ_FLUSH/FUA support for bio-based dm
2010-09-10 12:35:38 +02:00
dm-round-robin.c
dm-service-time.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
dm-snap-persistent.c
dm snapshot: persistent make metadata_wq multithreaded
2011-01-13 19:59:59 +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: fix opening log and cow devices for read only tables
2011-03-24 13:52:14 +00:00
dm-stripe.c
dm stripe: implement merge method
2011-03-24 13:54:35 +00:00
dm-sysfs.c
Driver core: Constify struct sysfs_ops in struct kobj_type
2010-03-07 17:04:49 -08:00
dm-table.c
dm: improve block integrity support
2011-04-05 23:52:43 +02:00
dm-target.c
dm: error return error for discards
2010-08-12 04:14:14 +01:00
dm-uevent.c
dm table: remove dm_get from dm_table_get_md
2010-03-06 02:29:52 +00:00
dm-uevent.h
dm-zero.c
dm: zero silently drop discards
2010-08-12 04:14:12 +01:00
dm.c
block: fix non-atomic access to genhd inflight structures
2011-03-22 08:35:35 +01:00
dm.h
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
faulty.c
md: use separate bio pool for each md device.
2010-10-28 17:36:15 +11:00
Kconfig
dm: add flakey target
2011-03-24 13:54:24 +00:00
linear.c
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
linear.h
Makefile
dm: add flakey target
2011-03-24 13:54:24 +00:00
md.c
md: Fix integrity registration error when no devices are capable
2011-03-28 17:53:29 -07:00
md.h
md: Fix - again - partition detection when array becomes active
2011-02-24 17:26:41 +11:00
multipath.c
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
multipath.h
raid0.c
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
raid0.h
md: fix handling of array level takeover that re-arranges devices.
2010-06-24 13:33:24 +10:00
raid1.c
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
raid1.h
md/raid1: discard unused variable.
2010-10-29 16:40:33 +11:00
raid5.c
block: remove per-queue plugging
2011-03-10 08:52:07 +01:00
raid5.h
block: remove per-queue plugging
2011-03-10 08:52:07 +01:00
raid10.c
block: Require subsystems to explicitly allocate bio_set integrity mempool
2011-03-17 11:11:05 +01:00
raid10.h
md: fix handling of array level takeover that re-arranges devices.
2010-06-24 13:33:24 +10:00