From 2b9429baaa2e19d8a97ffa6e3ce6a90dc75c5d23 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 30 May 2006 21:27:13 -0700 Subject: [PATCH] --- yaml --- r: 27051 b: refs/heads/master c: c331eb04b995ad276a7ece4608326f1db4e137d8 h: refs/heads/master i: 27049: 1ba341257a41bfef996938366c6efe652528359c 27047: c1d03579da7961688cd8352203103bfe77c79652 v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 06ecfc56c4d1..62d960e1ad30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a835fa798ddfbfe4c63ff5e22c93fa5d24c95f7b +refs/heads/master: c331eb04b995ad276a7ece4608326f1db4e137d8 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index ec802913f977..f19b874753a9 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -167,6 +167,15 @@ void md_new_event(mddev_t *mddev) } EXPORT_SYMBOL_GPL(md_new_event); +/* Alternate version that can be called from interrupts + * when calling sysfs_notify isn't needed. + */ +void md_new_event_inintr(mddev_t *mddev) +{ + atomic_inc(&md_event_count); + wake_up(&md_event_waiters); +} + /* * Enables to iterate over all existing md arrays * all_mddevs_lock protects this list. @@ -4149,7 +4158,7 @@ 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); - md_new_event(mddev); + md_new_event_inintr(mddev); } /* seq_file implementation /proc/mdstat */