android_kernel_xiaomi_sm7250/drivers/md
NeilBrown 7c785b7a18 [PATCH] md: fix a plug/unplug race in raid5
When a device is unplugged, requests are moved from one or two (depending on
whether a bitmap is in use) queues to the main request queue.

So whenever requests are put on either of those queues, we should make sure
the raid5 array is 'plugged'.  However we don't.  We currently plug the raid5
queue just before putting requests on queues, so there is room for a race.  If
something unplugs the queue at just the wrong time, requests will be left on
the queue and nothing will want to unplug them.  Normally something else will
plug and unplug the queue fairly soon, but there is a risk that nothing will.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-10 13:24:16 -07:00
..
raid6test [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dm-bio-list.h [PATCH] device-mapper snapshot: bio_list fix 2005-11-22 09:14:31 -08:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-emc.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-exception-store.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-hw-handler.c BUG_ON() Conversion in md/dm-hw-handler.c 2006-03-24 18:36:27 +01:00
dm-hw-handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-io.c [PATCH] mempool: use common mempool kmalloc allocator 2006-03-26 08:56:59 -08:00
dm-io.h [PATCH] device-mapper: remove unused definition 2006-01-06 08:34:00 -08:00
dm-ioctl.c [PATCH] devfs: Remove the miscdevice devfs_name field as it's no longer needed 2006-06-26 12:25:08 -07:00
dm-linear.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-log.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-log.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-mpath.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-mpath.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-path-selector.c BUG_ON() Conversion in md/dm-path-selector.c 2006-03-26 18:21:58 +02:00
dm-path-selector.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-raid1.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-round-robin.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-snap.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dm-snap.h [PATCH] device-mapper snapshot: load metadata on creation 2006-02-01 08:53:10 -08:00
dm-stripe.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-table.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-target.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-zero.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm.c [PATCH] devfs: Last little devfs cleanups throughout the kernel tree. 2006-06-26 12:25:09 -07:00
dm.h [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
faulty.c [PATCH] md: allow array level to be set textually via sysfs 2006-01-06 08:34:09 -08:00
Kconfig [PATCH] md: Fix Kconfig error 2006-06-26 09:58:39 -07:00
kcopyd.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kcopyd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.c [PATCH] md: allow a linear array to have drives added while active 2006-06-26 09:58:37 -07:00
Makefile [PATCH] md: merge raid5 and raid6 code 2006-06-26 09:58:37 -07:00
md.c [PATCH] md: fix resync speed calculation for restarted resyncs 2006-07-10 13:24:16 -07:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] mempool: use common mempool kzalloc allocator 2006-03-26 08:56:59 -08:00
raid0.c [PATCH] md: fix possible oops when starting a raid0 array 2006-05-23 10:35:31 -07:00
raid1.c [PATCH] md: Allow re-add to work on array without bitmaps 2006-06-26 09:58:39 -07:00
raid5.c [PATCH] md: fix a plug/unplug race in raid5 2006-07-10 13:24:16 -07:00
raid6.h [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6algos.c [PATCH] drivers/md/raid6algos.c: fix a NULL dereference 2006-06-23 07:43:08 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -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: Calculate correct array size for raid10 in new offset mode 2006-06-26 09:58:39 -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