linux/drivers/md
NeilBrown 3d310eb7b3 [PATCH] md: fix deadlock due to md thread processing delayed requests.
Before completing a 'write' the md superblock might need to be updated.
This is best done by the md_thread.

The current code schedules this up and queues the write request for later
handling by the md_thread.

However some personalities (Raid5/raid6) will deadlock if the md_thread
tries to submit requests to its own array.

So this patch changes things so the processes submitting the request waits
for the superblock to be written and then submits the request itself.

This fixes a recently-created deadlock in raid5/raid6

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 19:07:46 -07:00
..
raid6test Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] md: optimised resync using Bitmap based intent logging 2005-06-21 19:07:43 -07:00
bitmap.c [PATCH] md: don't skip bitmap pages due to lack of bit that we just cleared. 2005-06-21 19:07:45 -07:00
dm-bio-list.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c [PATCH] mm: use __GFP_NOMEMALLOC 2005-05-01 08:58:37 -07:00
dm-emc.c [PATCH] device-mapper dm-emc: Fix a memset 2005-05-05 16:36:46 -07:00
dm-exception-store.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-hw-handler.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-hw-handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-io.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-linear.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-log.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-log.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-mpath.c [PATCH] dm: Handle READA requests in dm-mpath.c 2005-06-08 16:21:14 -07:00
dm-mpath.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-path-selector.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-path-selector.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-raid1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-round-robin.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-snap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-snap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-stripe.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-table.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-target.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-zero.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm.c [PATCH] device-mapper: tidy dm_suspend 2005-05-05 16:36:46 -07:00
dm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
faulty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kcopyd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kcopyd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.c [PATCH] md: fix splitting of md/linear request that cross a device boundary 2005-05-17 07:59:11 -07:00
md.c [PATCH] md: fix deadlock due to md thread processing delayed requests. 2005-06-21 19:07:46 -07:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] md: set the unplug_fn and issue_flush_fn for md devices *after* committed to creation 2005-05-17 07:59:12 -07:00
raid0.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid1.c [PATCH] md: fix deadlock due to md thread processing delayed requests. 2005-06-21 19:07:46 -07:00
raid5.c [PATCH] md: fix deadlock due to md thread processing delayed requests. 2005-06-21 19:07:46 -07:00
raid6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6algos.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6altivec.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6main.c [PATCH] md: fix deadlock due to md thread processing delayed requests. 2005-06-21 19:07:46 -07:00
raid6mmx.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6x86.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid10.c [PATCH] md: fix deadlock due to md thread processing delayed requests. 2005-06-21 19:07:46 -07:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00