1
linux/drivers/md
Alasdair G Kergon 2ca3310e78 [PATCH] device-mapper: fix md->lock deadlocks in core
This patch is an attempt to fix deadlocks discovered in the core dm.

The problems boil down to md->lock having to be held in too many places, so
I've split it into two: md->suspend_lock and md->io_lock.

suspend_lock is now held throughout dm_suspended() as well as dm_resume()
and dm_swap_table() so that these functions cannot run concurrently:
there's no requirement for that and it added complexity.

DMF_FS_LOCKED becomes redundant: DMF_SUSPENDED provides adequate
protection.

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-28 21:46:03 -07:00
..
raid6test Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitmap.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -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] md: remove unneeded NULL checks before kfree 2005-06-21 19:07:48 -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 [PATCH] create a kstrdup library function 2005-06-23 09:45:18 -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] device-mapper multipath: Fix pg initialisation races 2005-07-12 16:19:11 -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 [PATCH] device-mapper: dm-raid1: Limit bios to size of mirror region 2005-07-07 18:24:11 -07:00
dm-round-robin.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-snap.c [PATCH] device-mapper snapshots: Handle origin extension 2005-07-12 16:19:11 -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: fix deadlocks in core (prep) 2005-07-28 21:46:03 -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: fix md->lock deadlocks in core 2005-07-28 21:46:03 -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
Kconfig 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: remove unneeded NULL checks before kfree 2005-06-21 19:07:48 -07:00
Makefile [PATCH] md: optimised resync using Bitmap based intent logging 2005-06-21 19:07:43 -07:00
md.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] md: remove unneeded NULL checks before kfree 2005-06-21 19:07:48 -07:00
raid0.c [PATCH] Fix raid0's attempt to divide by 64bit numbers 2005-07-15 09:54:50 -07:00
raid1.c [PATCH] md: when resizing an array, we need to update resync_max_sectors as well as size 2005-07-27 16:25:48 -07:00
raid5.c [PATCH] md: when resizing an array, we need to update resync_max_sectors as well as size 2005-07-27 16:25:48 -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: when resizing an array, we need to update resync_max_sectors as well as size 2005-07-27 16:25:48 -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: remove unneeded NULL checks before kfree 2005-06-21 19:07:48 -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