summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeilBrown2010-07-26 03:49:55 +0200
committerNeilBrown2010-07-26 04:52:27 +0200
commit768a418db102bb6aa6064e6090892b5c21ff1f9e (patch)
tree2f33acbf0ca542f43c8014201b539ae8f461ee5c /drivers/md/md.c
parentmd: export various start/stop interfaces (diff)
downloadkernel-qcow2-linux-768a418db102bb6aa6064e6090892b5c21ff1f9e.tar.gz
kernel-qcow2-linux-768a418db102bb6aa6064e6090892b5c21ff1f9e.tar.xz
kernel-qcow2-linux-768a418db102bb6aa6064e6090892b5c21ff1f9e.zip
md: add support for raising dm events.
dm uses scheduled work to raise events to user-space. So allow md device to have work_structs and schedule them on an error. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 012482a900fc..f8775699e15a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6068,6 +6068,8 @@ void md_error(mddev_t *mddev, mdk_rdev_t *rdev)
set_bit(MD_RECOVERY_INTR, &mddev->recovery);
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
md_wakeup_thread(mddev->thread);
+ if (mddev->event_work.func)
+ schedule_work(&mddev->event_work);
md_new_event_inintr(mddev);
}