aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/bitmap.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-12-14 20:56:58 -0500
committerNeilBrown <neilb@suse.de>2015-02-05 17:32:55 -0500
commit978a7a47cae79ae7a7b5a1e80bfcaef6ee700312 (patch)
treef9f479f5a662ddc9cd482d0e46c7e21e3ca3783b /drivers/md/bitmap.c
parent36d091f4759d194c99f0705d412afe208622b45a (diff)
md/bitmap: protect clearing of ->bitmap by mddev->lock
This makes it safe to inspect the struct while holding only the spinlock. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/bitmap.c')
-rw-r--r--drivers/md/bitmap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index 1695ee5f3ffc..3424b1915fc4 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -1619,7 +1619,9 @@ void bitmap_destroy(struct mddev *mddev)
1619 return; 1619 return;
1620 1620
1621 mutex_lock(&mddev->bitmap_info.mutex); 1621 mutex_lock(&mddev->bitmap_info.mutex);
1622 spin_lock(&mddev->lock);
1622 mddev->bitmap = NULL; /* disconnect from the md device */ 1623 mddev->bitmap = NULL; /* disconnect from the md device */
1624 spin_unlock(&mddev->lock);
1623 mutex_unlock(&mddev->bitmap_info.mutex); 1625 mutex_unlock(&mddev->bitmap_info.mutex);
1624 if (mddev->thread) 1626 if (mddev->thread)
1625 mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT; 1627 mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT;