linux/drivers/md
Milan Broz 3f1e9070f6 dm crypt: fix ctx pending
Fix regression in dm-crypt introduced in commit
3a7f6c990a ("dm crypt: use async crypto").

If write requests need to be split into pieces, the code must not process them
in parallel because the crypto context cannot be shared.  So there can be
parallel crypto operations on one part of the write, but only one write bio
can be processed at a time.

This is not optimal and the workqueue code needs to be optimized for parallel
processing, but for now it solves the problem without affecting the
performance of synchronous crypto operation (most of current dm-crypt users).

http://bugzilla.kernel.org/show_bug.cgi?id=10242
http://bugzilla.kernel.org/show_bug.cgi?id=10207

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-03-28 14:45:22 -07:00
..
raid6test md: raid6: clean up the style of raid6test/test.c 2008-02-06 10:41:18 -08:00
.gitignore
bitmap.c md: reduce CPU wastage on idle md array with a write-intent bitmap 2008-03-10 18:01:19 -07:00
dm-bio-list.h
dm-bio-record.h
dm-crypt.c dm crypt: fix ctx pending 2008-03-28 14:45:22 -07:00
dm-delay.c
dm-emc.c
dm-exception-store.c dm snapshot: use uninitialized_var 2008-02-08 02:10:11 +00:00
dm-hw-handler.c
dm-hw-handler.h
dm-io.c
dm-io.h
dm-ioctl.c dm ioctl: use uninitialized_var 2008-02-08 02:10:16 +00:00
dm-linear.c
dm-log.c dm log: auto load modules 2008-02-08 02:11:19 +00:00
dm-log.h
dm-mpath-hp-sw.c
dm-mpath-rdac.c
dm-mpath.c dm mpath: add missing static 2008-02-08 02:10:35 +00:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-raid1.c dm-raid1.c: fix NULL dereferences 2008-02-19 15:52:27 -08:00
dm-round-robin.c
dm-snap.c dm snapshot: combine consecutive exceptions in memory 2008-02-08 02:11:27 +00:00
dm-snap.h dm snapshot: combine consecutive exceptions in memory 2008-02-08 02:11:27 +00:00
dm-stripe.c dm: stripe enhanced status return 2008-02-08 02:11:24 +00:00
dm-table.c Introduce path_put() 2008-02-14 21:13:33 -08:00
dm-target.c
dm-uevent.c
dm-uevent.h
dm-zero.c
dm.c dm: move deferred bio flushing to workqueue 2008-02-08 02:11:17 +00:00
dm.h
faulty.c md: change ITERATE_RDEV to rdev_for_each 2008-02-06 10:41:19 -08:00
Kconfig dm: targets no longer experimental 2008-02-08 02:10:32 +00:00
kcopyd.c
kcopyd.h
linear.c md: change ITERATE_RDEV to rdev_for_each 2008-02-06 10:41:19 -08:00
Makefile
md.c md: remove the 'super' sysfs attribute from devices in an 'md' array 2008-03-19 18:53:35 -07:00
mktables.c md: raid6: Fix mktable.c 2008-02-06 10:41:18 -08:00
multipath.c md: change ITERATE_RDEV to rdev_for_each 2008-02-06 10:41:19 -08:00
raid0.c md: change ITERATE_RDEV to rdev_for_each 2008-02-06 10:41:19 -08:00
raid1.c md: fix possible raid1/raid10 deadlock on read error during resync 2008-03-04 16:35:18 -08:00
raid5.c drivers/md/raid5.c: fix printk warnings 2008-03-19 18:53:37 -07:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c md: the md RAID10 resync thread could cause a md RAID10 array deadlock 2008-03-04 16:35:18 -08:00
unroll.pl