summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-05-23 13:04:37 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-24 09:56:10 -0700
commit4f54b0e9485644a3c5fca2ae43bcbe7376825747 (patch)
tree10033228aa5efc868c25aed924b5a0d6b98ac090
parent09a44cc15079f80c1416cde1a1d5b2cdd8f2118a (diff)
downloadlinux-stable-4f54b0e9485644a3c5fca2ae43bcbe7376825747.tar.gz
linux-stable-4f54b0e9485644a3c5fca2ae43bcbe7376825747.tar.bz2
linux-stable-4f54b0e9485644a3c5fca2ae43bcbe7376825747.zip
md: notify userspace on 'stop' events
This additional notification to 'array_state' is needed to allow the monitor application to learn about stop events via sysfs. The sysfs_notify("sync_action") call that comes at the end of do_md_stop() (via md_new_event) is insufficient since the 'sync_action' attribute has been removed by this point. (Seems like a sysfs-notify-on-removal patch is a better fix. Currently removal updates the event count but does not wake up waiters) Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-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 52f9865096c6..e57213dacd25 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3691,6 +3691,8 @@ static int do_md_stop(mddev_t * mddev, int mode)
module_put(mddev->pers->owner);
mddev->pers = NULL;
+ /* tell userspace to handle 'inactive' */
+ sysfs_notify(&mddev->kobj, NULL, "array_state");
set_capacity(disk, 0);
mddev->changed = 1;