dm mpath: verify __pg_init_all_paths locking assumptions at runtime

Verify at runtime that __pg_init_all_paths() is called with
multipath.lock held if lockdep is enabled.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
Bart Van Assche 2017-04-27 10:11:22 -07:00 committed by Mike Snitzer
parent 1ea0654e46
commit b194679fac
1 changed files with 2 additions and 0 deletions

View File

@ -298,6 +298,8 @@ static int __pg_init_all_paths(struct multipath *m)
struct pgpath *pgpath; struct pgpath *pgpath;
unsigned long pg_init_delay = 0; unsigned long pg_init_delay = 0;
lockdep_assert_held(&m->lock);
if (atomic_read(&m->pg_init_in_progress) || test_bit(MPATHF_PG_INIT_DISABLED, &m->flags)) if (atomic_read(&m->pg_init_in_progress) || test_bit(MPATHF_PG_INIT_DISABLED, &m->flags))
return 0; return 0;