1
linux/drivers/md
NeilBrown dd00a99e7a md: avoid a possibility that a read error can wrongly propagate through md/raid1 to a filesystem.
When a raid1 has only one working drive, we want read error to propagate up
to the filesystem as there is no point failing the last drive in an array.

Currently the code perform this check is racy.  If a write and a read a
both submitted to a device on a 2-drive raid1, and the write fails followed
by the read failing, the read will see that there is only one working drive
and will pass the failure up, even though the one working drive is actually
the *other* one.

So, tighten up the locking.

Signed-off-by: Neil Brown <neilb@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-10 09:26:53 -07:00
..
raid6test
.gitignore
bitmap.c Remove do_sync_file_range() 2007-05-08 11:15:04 -07:00
dm-bio-list.h dm: bio list helpers 2007-05-09 12:30:47 -07:00
dm-bio-record.h
dm-crypt.c dm crypt: add null iv 2007-05-09 12:30:46 -07:00
dm-delay.c dm: delay target 2007-05-09 12:30:47 -07:00
dm-emc.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-exception-store.c dm exception store: update dm io interface 2007-05-09 12:30:47 -07:00
dm-hw-handler.c
dm-hw-handler.h dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm-io.c dm io: remove old interface 2007-05-09 12:30:47 -07:00
dm-io.h dm io: remove old interface 2007-05-09 12:30:47 -07:00
dm-ioctl.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
dm-linear.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm-log.c dm log: fix resume failed log device 2007-05-09 12:30:48 -07:00
dm-log.h [PATCH] dm: log: rename complete_resync_work 2006-12-08 08:29:09 -08:00
dm-mpath.c dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm-mpath.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-path-selector.c
dm-path-selector.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-raid1.c dm raid1: switch rh_in_sync to blocking in do_reads 2007-05-09 12:30:48 -07:00
dm-round-robin.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-snap.c [PATCH] make drivers/md/dm-snap.c:ksnapd static 2006-12-08 08:29:09 -08:00
dm-snap.h [PATCH] dm snapshot: add workqueue 2006-10-03 08:04:14 -07:00
dm-stripe.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm-table.c dm: allow offline devices 2007-05-09 12:30:47 -07:00
dm-target.c
dm-zero.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm.c dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm.h [PATCH] dm: suspend: add noflush pushback 2006-12-08 08:29:09 -08:00
faulty.c [PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly 2006-12-13 09:05:48 -08:00
Kconfig dm: delay target 2007-05-09 12:30:47 -07:00
kcopyd.c dm kcopyd: update dm io interface 2007-05-09 12:30:47 -07:00
kcopyd.h
linear.c [PATCH] fix read past end of array in md/linear.c 2007-03-16 19:25:03 -07:00
Makefile dm: delay target 2007-05-09 12:30:47 -07:00
md.c Revert "md: improve partition detection in md array" 2007-05-09 18:51:36 -07:00
mktables.c
multipath.c [PATCH] md: fix up maintenance of ->degraded in multipath 2006-10-28 11:30:51 -07:00
raid0.c [PATCH] md: define backing_dev_info.congested_fn for raid0 and linear 2006-10-03 08:04:18 -07:00
raid1.c md: avoid a possibility that a read error can wrongly propagate through md/raid1 to a filesystem. 2007-05-10 09:26:53 -07:00
raid5.c Revert "md: improve partition detection in md array" 2007-05-09 18:51:36 -07:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6recov.c
raid6sse1.c [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6sse2.c [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6x86.h [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid10.c [PATCH] md: fix raid10 recovery problem. 2007-03-01 14:53:36 -08:00
unroll.pl
xor.c