summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-mpath.c
diff options
context:
space:
mode:
authorBart Van Assche <bart.vanassche@sandisk.com>2016-08-31 18:16:43 -0400
committerMike Snitzer <snitzer@redhat.com>2016-09-14 13:56:38 -0400
commit9f4c3f874a3ab8fb845dd2f04f4396ebc5c1f225 (patch)
tree99da4367ea3d4d4fcacb2a64c8e8256af898d251 /drivers/md/dm-mpath.c
parente3fabdfdf70e2b340cff968fd1d13e4c624de926 (diff)
dm: convert wait loops to use autoremove_wake_function()
Use autoremove_wake_function() instead of default_wake_function() to make the dm wait loops more similar to other wait loops in the kernel. This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-mpath.c')
-rw-r--r--drivers/md/dm-mpath.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index 15db5e9c572e..c777d38f4b11 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -1193,21 +1193,17 @@ static int multipath_ctr(struct dm_target *ti, unsigned argc, char **argv)
1193 1193
1194static void multipath_wait_for_pg_init_completion(struct multipath *m) 1194static void multipath_wait_for_pg_init_completion(struct multipath *m)
1195{ 1195{
1196 DECLARE_WAITQUEUE(wait, current); 1196 DEFINE_WAIT(wait);
1197
1198 add_wait_queue(&m->pg_init_wait, &wait);
1199 1197
1200 while (1) { 1198 while (1) {
1201 set_current_state(TASK_UNINTERRUPTIBLE); 1199 prepare_to_wait(&m->pg_init_wait, &wait, TASK_UNINTERRUPTIBLE);
1202 1200
1203 if (!atomic_read(&m->pg_init_in_progress)) 1201 if (!atomic_read(&m->pg_init_in_progress))
1204 break; 1202 break;
1205 1203
1206 io_schedule(); 1204 io_schedule();
1207 } 1205 }
1208 set_current_state(TASK_RUNNING); 1206 finish_wait(&m->pg_init_wait, &wait);
1209
1210 remove_wait_queue(&m->pg_init_wait, &wait);
1211} 1207}
1212 1208
1213static void flush_multipath_work(struct multipath *m) 1209static void flush_multipath_work(struct multipath *m)