diff options
author | NeilBrown <neilb@suse.de> | 2006-03-31 05:32:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 15:19:01 -0500 |
commit | 926ce2d8a7d446c720faec9d8c5105eeb04bcf7a (patch) | |
tree | 3dd393c2d254a0bd151b00214d4e85b1bd833838 | |
parent | 6b1117d50543e2484bee037ec2589fe52492a7e7 (diff) |
[PATCH] md: Remove some code that can sleep from under a spinlock
And remove the comments that were put in inplace of a fix too....
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/md/md.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 039e071c1007..1ed5152db450 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -215,13 +215,11 @@ static void mddev_put(mddev_t *mddev) | |||
215 | return; | 215 | return; |
216 | if (!mddev->raid_disks && list_empty(&mddev->disks)) { | 216 | if (!mddev->raid_disks && list_empty(&mddev->disks)) { |
217 | list_del(&mddev->all_mddevs); | 217 | list_del(&mddev->all_mddevs); |
218 | /* that blocks */ | 218 | spin_unlock(&all_mddevs_lock); |
219 | blk_cleanup_queue(mddev->queue); | 219 | blk_cleanup_queue(mddev->queue); |
220 | /* that also blocks */ | ||
221 | kobject_unregister(&mddev->kobj); | 220 | kobject_unregister(&mddev->kobj); |
222 | /* result blows... */ | 221 | } else |
223 | } | 222 | spin_unlock(&all_mddevs_lock); |
224 | spin_unlock(&all_mddevs_lock); | ||
225 | } | 223 | } |
226 | 224 | ||
227 | static mddev_t * mddev_find(dev_t unit) | 225 | static mddev_t * mddev_find(dev_t unit) |