linux/drivers/md
NeilBrown c331eb04b9 [PATCH] md: Fix badness in sysfs_notify caused by md_new_event
From: NeilBrown <neilb@suse.de>

If an error is reported by a drive in a RAID array (which is done via
bi_end_io - in interrupt context), we call md_error and md_new_event which
calls sysfs_notify.  However sysfs_notify grabs a mutex and so cannot be
called in interrupt context.

This patch just creates a variant of md_new_event which avoids the sysfs
call, and uses that.  A better fix for later is to arrange for the event to
be called from user-context.

Note: avoiding the sysfs call isn't a problem as an error will not, by
itself, modify the sync_action attribute.  (We do still need to
wake_up(&md_event_waiters) as an error by itself will modify /proc/mdstat).

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-05-31 16:27:11 -07:00
..
raid6test
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
Kconfig [PATCH] md: make sure 64bit fields in version-1 metadata are 64-bit aligned 2006-04-11 06:18:30 -07:00
Makefile
bitmap.c [PATCH] mempool: use common mempool kmalloc allocator 2006-03-26 08:56:59 -08:00
dm-bio-list.h
dm-bio-record.h
dm-crypt.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-emc.c
dm-exception-store.c
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
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] dm store geometry 2006-03-27 08:44:59 -08:00
dm-linear.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-log.c [PATCH] device-mapper log bitset: fix big endian find_next_zero_bit 2006-02-02 15:07:13 -08:00
dm-log.h
dm-mpath.c [PATCH] mempool: use mempool_create_slab_pool() 2006-03-26 08:57:00 -08:00
dm-mpath.h
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
dm-raid1.c [PATCH] dm: remove SECTOR_FORMAT 2006-03-27 08:44:58 -08:00
dm-round-robin.c
dm-snap.c [PATCH] dm snapshot: fix kcopyd destructor 2006-03-27 08:44:59 -08: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: remove unnecessary typecast 2006-03-27 08:45:00 -08:00
dm-table.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
dm-target.c BUG_ON() Conversion in md/dm-target.c 2006-04-01 01:08:12 +02:00
dm-zero.c
dm.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
dm.h [PATCH] dm store geometry 2006-03-27 08:44:59 -08:00
faulty.c [PATCH] md: allow array level to be set textually via sysfs 2006-01-06 08:34:09 -08:00
kcopyd.c [PATCH] sem2mutex: drivers/md 2006-03-27 08:45:03 -08:00
kcopyd.h
linear.c [PATCH] md: allow array level to be set textually via sysfs 2006-01-06 08:34:09 -08:00
md.c [PATCH] md: Fix badness in sysfs_notify caused by md_new_event 2006-05-31 16:27:11 -07:00
mktables.c
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: Fix 'rdev->nr_pending' count when retrying barrier requests 2006-05-01 18:17:42 -07:00
raid5.c BUG_ON() Conversion in md/raid5.c 2006-04-02 13:31:42 +02:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6main.c BUG_ON() Conversion in md/raid6main.c 2006-04-02 13:33:30 +02:00
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: Fixed refcounting/locking when attempting read error correction in raid10 2006-05-01 18:17:42 -07:00
unroll.pl
xor.c