1
0
Fork 0
alistair23-linux/include/linux/raid
NeilBrown 2a2275d630 [PATCH] md: fix potential memalloc deadlock in md
If a GFP_KERNEL allocation is attempted in md while the mddev_lock is held,
it is possible for a deadlock to eventuate.

This happens if the array was marked 'clean', and the memalloc triggers a
write-out to the md device.

For the writeout to succeed, the array must be marked 'dirty', and that
requires getting the mddev_lock.

So, before attempting a GFP_KERNEL allocation while holding the lock, make
sure the array is marked 'dirty' (unless it is currently read-only).

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-26 13:51:00 -08:00
..
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
bitmap.h [PATCH] md: endian annotations for the bitmap superblock 2006-10-21 13:35:05 -07:00
linear.h [PATCH] md: allow a linear array to have drives added while active 2006-06-26 09:58:37 -07:00
md.h [PATCH] md: fix potential memalloc deadlock in md 2007-01-26 13:51:00 -08:00
md_k.h [PATCH] md: remove MAX_MD_DEVS which is an arbitrary limit 2006-10-03 08:04:18 -07:00
md_p.h [PATCH] md: endian annotation for v1 superblock access 2006-10-21 13:35:05 -07:00
md_u.h [PATCH] md: the scheduled removal of the START_ARRAY ioctl for md 2006-10-03 08:04:16 -07:00
multipath.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid0.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid1.h [PATCH] md: Remove working_disks from raid1 state data 2006-10-03 08:04:17 -07:00
raid5.h [PATCH] md: allow reads that have bypassed the cache to be retried on failure 2006-12-10 09:57:20 -08:00
raid10.h [PATCH] md: remove 'working_disks' from raid10 state 2006-10-03 08:04:17 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00