]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
md: use lockdep_assert_held
authorShaohua Li <shli@fb.com>
Thu, 19 Oct 2017 05:08:13 +0000 (22:08 -0700)
committerShaohua Li <shli@fb.com>
Thu, 2 Nov 2017 04:32:22 +0000 (21:32 -0700)
lockdep_assert_held is a better way to assert lock held, and it works
for UP.

Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid5-cache.c

index d441b1d9846c1e21d838ac0a084e08c3ab361df5..5a0ec1d1a6e8c569a82eb44ebfce408a615af99a 100644 (file)
@@ -2335,7 +2335,7 @@ static void export_array(struct mddev *mddev)
 
 static bool set_in_sync(struct mddev *mddev)
 {
-       WARN_ON_ONCE(NR_CPUS != 1 && !spin_is_locked(&mddev->lock));
+       lockdep_assert_held(&mddev->lock);
        if (!mddev->in_sync) {
                mddev->sync_checkers++;
                spin_unlock(&mddev->lock);
@@ -6749,7 +6749,7 @@ static int set_array_info(struct mddev *mddev, mdu_array_info_t *info)
 
 void md_set_array_sectors(struct mddev *mddev, sector_t array_sectors)
 {
-       WARN(!mddev_is_locked(mddev), "%s: unlocked mddev!\n", __func__);
+       lockdep_assert_held(&mddev->reconfig_mutex);
 
        if (mddev->external_size)
                return;
index 998b4ce1498f3b3a467e537b2d3fdb767137732d..7d6bcf0eba0c5a9e1dc3505178cd245a6432ecc3 100644 (file)
@@ -500,11 +500,6 @@ static inline void mddev_lock_nointr(struct mddev *mddev)
        mutex_lock(&mddev->reconfig_mutex);
 }
 
-static inline int mddev_is_locked(struct mddev *mddev)
-{
-       return mutex_is_locked(&mddev->reconfig_mutex);
-}
-
 static inline int mddev_trylock(struct mddev *mddev)
 {
        return mutex_trylock(&mddev->reconfig_mutex);
index 037ed274807f7f58bc5f676e1864fc541b54084d..f1c86d938502e61c93d8951680767f1af5de98e5 100644 (file)
@@ -539,7 +539,7 @@ static void r5l_log_run_stripes(struct r5l_log *log)
 {
        struct r5l_io_unit *io, *next;
 
-       assert_spin_locked(&log->io_list_lock);
+       lockdep_assert_held(&log->io_list_lock);
 
        list_for_each_entry_safe(io, next, &log->running_ios, log_sibling) {
                /* don't change list order */
@@ -555,7 +555,7 @@ static void r5l_move_to_end_ios(struct r5l_log *log)
 {
        struct r5l_io_unit *io, *next;
 
-       assert_spin_locked(&log->io_list_lock);
+       lockdep_assert_held(&log->io_list_lock);
 
        list_for_each_entry_safe(io, next, &log->running_ios, log_sibling) {
                /* don't change list order */
@@ -1200,7 +1200,7 @@ static void r5l_run_no_mem_stripe(struct r5l_log *log)
 {
        struct stripe_head *sh;
 
-       assert_spin_locked(&log->io_list_lock);
+       lockdep_assert_held(&log->io_list_lock);
 
        if (!list_empty(&log->no_mem_stripes)) {
                sh = list_first_entry(&log->no_mem_stripes,
@@ -1216,7 +1216,7 @@ static bool r5l_complete_finished_ios(struct r5l_log *log)
        struct r5l_io_unit *io, *next;
        bool found = false;
 
-       assert_spin_locked(&log->io_list_lock);
+       lockdep_assert_held(&log->io_list_lock);
 
        list_for_each_entry_safe(io, next, &log->finished_ios, log_sibling) {
                /* don't change list order */
@@ -1388,7 +1388,7 @@ static void r5c_flush_stripe(struct r5conf *conf, struct stripe_head *sh)
         * raid5_release_stripe() while holding conf->device_lock
         */
        BUG_ON(test_bit(STRIPE_ON_RELEASE_LIST, &sh->state));
-       assert_spin_locked(&conf->device_lock);
+       lockdep_assert_held(&conf->device_lock);
 
        list_del_init(&sh->lru);
        atomic_inc(&sh->count);
@@ -1415,7 +1415,7 @@ void r5c_flush_cache(struct r5conf *conf, int num)
        int count;
        struct stripe_head *sh, *next;
 
-       assert_spin_locked(&conf->device_lock);
+       lockdep_assert_held(&conf->device_lock);
        if (!conf->log)
                return;