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
bitmap.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
dm-bio-list.h
dm-bio-record.h
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
dm-hw-handler.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-hw-handler.h
dm-io.c
dm-io.h
dm-ioctl.c [PATCH] create a kstrdup library function 2005-06-23 09:45:18 -07:00
dm-linear.c
dm-log.c
dm-log.h
dm-mpath.c [PATCH] device-mapper multipath: Fix pg initialisation races 2005-07-12 16:19:11 -07:00
dm-mpath.h
dm-path-selector.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-path-selector.h
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
dm-snap.c [PATCH] device-mapper snapshots: Handle origin extension 2005-07-12 16:19:11 -07:00
dm-snap.h
dm-stripe.c
dm-table.c [PATCH] device-mapper: fix deadlocks in core (prep) 2005-07-28 21:46:03 -07:00
dm-target.c
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
faulty.c
Kconfig
kcopyd.c
kcopyd.h
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
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
raid6algos.c
raid6altivec.uc
raid6int.uc
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
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: remove unneeded NULL checks before kfree 2005-06-21 19:07:48 -07:00
unroll.pl
xor.c