1
0
Fork 0
alistair23-linux/drivers
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
..
accessibility
acpi acpi: Remove sysfs_create_link from video driver 2011-03-28 13:05:29 -07:00
amba
ata Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-30 07:50:45 -07:00
atm atm/solos-pci: Don't flap VCs when carrier state changes 2011-03-30 16:53:38 -07:00
auxdisplay
base Introduce ARCH_NO_SYSDEV_OPS config option (v2) 2011-03-23 22:16:41 +01:00
block drbd: fix up merge error 2011-03-28 07:42:58 -07:00
bluetooth Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
cdrom
char char/tpm: Fix unitialized usage of data buffer 2011-03-29 09:45:34 -07:00
clk
clocksource
connector connector: convert to synchronous netlink message processing 2011-03-30 17:14:33 -07:00
cpufreq cpufreq: Use syscore_ops for boot CPU suspend/resume (v2) 2011-03-23 22:16:32 +01:00
cpuidle
crypto Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
dca drivers/dca/dca-core.c: use list_move() instead of list_del()/list_add() combination 2011-03-22 17:44:12 -07:00
dio
dma Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-27 20:58:56 -07:00
edac amd64_edac: Fix potential memleak 2011-03-29 18:19:06 +02:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2011-03-21 10:05:22 -07:00
firmware sigma-firmware: loader for Analog Devices' SigmaStudio 2011-03-22 17:44:15 -07:00
gpio gpio: ab8500: Mark broken 2011-03-29 14:50:42 +02:00
gpu drm: fix "persistant" typo 2011-04-05 10:22:23 +10:00
hid backlight: add backlight type 2011-03-22 17:43:59 -07:00
hwmon hwmon: twl4030-madc-hwmon: add "platform:" prefix for platform modalias 2011-03-29 17:26:18 -07:00
hwspinlock hwspinlock: depend on OMAP4 2011-03-18 17:15:11 -07:00
i2c mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
ide ide: ide_requeue_and_plug() reinstate "always plug" behaviour 2011-04-05 23:51:37 +02:00
idle
ieee802154 ieee802154: change to new flag variable 2011-03-17 14:05:34 +01:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-03-25 21:06:37 -07:00
input drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
isdn Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
leds Merge git://git.infradead.org/battery-2.6 2011-03-25 21:00:29 -07:00
lguest
macintosh powerpc/pmac: Rename cpu_state in therm_pm72 to avoid collision 2011-04-01 15:37:27 +11:00
mca
md dm: improve block integrity support 2011-04-05 23:52:43 +02:00
media Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-04-04 08:37:45 -07:00
memstick memstick: make enable_dma less generic in r592 2011-03-28 16:24:29 -07:00
message Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block 2011-03-24 10:16:26 -07:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
misc drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1 2011-03-25 17:41:20 +02:00
net mlx4: Fixing bad size of event queue buffer 2011-03-31 02:52:18 -07:00
nfc
nubus
of of/flattree: minor cleanups 2011-03-23 14:55:56 -06:00
oprofile
parisc parisc: Convert irq namespace 2011-03-29 14:48:08 +02:00
parport
pci drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pcmcia Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-30 07:50:45 -07:00
platform drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pnp pnp: only assign IORESOURCE_DMA if CONFIG_ISA_DMA_API is enabled 2011-03-22 17:44:16 -07:00
power drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pps pps: remove unreachable code 2011-03-22 17:44:17 -07:00
ps3
rapidio rapidio: fix potential null deref on failure path 2011-03-23 19:46:44 -07:00
regulator regulator: Add MODULE_DEVICE_TABLE to max8997 and max8998 2011-03-27 11:47:25 +01:00
rtc rtc-mrst: Fix section types 2011-04-04 08:21:07 -07:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-03-25 17:47:04 -07:00
sbus
scsi x86: Stop including <linux/delay.h> in two asm header files 2011-03-29 09:37:42 +02:00
sfi
sh sh: Fix irq cleanup fallout 2011-03-30 00:15:49 +02:00
sn
spi Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6 2011-03-24 09:30:20 -07:00
ssb
staging Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-04-04 08:33:53 -07:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-25 21:06:13 -07:00
tc
telephony
thermal
tty tty: fix endless work loop when the buffer fills up 2011-04-04 14:26:54 -07:00
uio
usb usb/serial: fix function args warnings, dropping *filp 2011-04-04 08:35:20 -07:00
uwb
vhost
video Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32 2011-04-04 08:33:21 -07:00
virtio
vlynq vlynq: Convert irq functions 2011-03-28 19:33:04 +02:00
w1 drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
watchdog watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry 2011-03-29 11:56:22 +00:00
xen xen: Use new irq_move functions 2011-03-29 10:01:05 -04:00
zorro
Kconfig
Makefile