aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorChandra Seetharaman <sekharan@us.ibm.com>2009-10-21 12:22:46 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:00:46 -0500
commit3ae31f6a7b6e442fc6a92f29330fbad230dc3992 (patch)
tree9ca152ac3412de2917c0486b64898e6a75f853d9 /drivers/md
parent42e62a74377bcbb526565a31aa18da8f712b93ee (diff)
[SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous
Make scsi_dh_activate() function asynchronous, by taking in two additional parameters, one is the callback function and the other is the data to call the callback function with. Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-mpath.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index 32d0b878eccc..dce971dbdfa3 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -1116,8 +1116,9 @@ static int pg_init_limit_reached(struct multipath *m, struct pgpath *pgpath)
1116 return limit_reached; 1116 return limit_reached;
1117} 1117}
1118 1118
1119static void pg_init_done(struct dm_path *path, int errors) 1119static void pg_init_done(void *data, int errors)
1120{ 1120{
1121 struct dm_path *path = data;
1121 struct pgpath *pgpath = path_to_pgpath(path); 1122 struct pgpath *pgpath = path_to_pgpath(path);
1122 struct priority_group *pg = pgpath->pg; 1123 struct priority_group *pg = pgpath->pg;
1123 struct multipath *m = pg->m; 1124 struct multipath *m = pg->m;
@@ -1183,12 +1184,11 @@ static void pg_init_done(struct dm_path *path, int errors)
1183 1184
1184static void activate_path(struct work_struct *work) 1185static void activate_path(struct work_struct *work)
1185{ 1186{
1186 int ret;
1187 struct pgpath *pgpath = 1187 struct pgpath *pgpath =
1188 container_of(work, struct pgpath, activate_path); 1188 container_of(work, struct pgpath, activate_path);
1189 1189
1190 ret = scsi_dh_activate(bdev_get_queue(pgpath->path.dev->bdev)); 1190 scsi_dh_activate(bdev_get_queue(pgpath->path.dev->bdev),
1191 pg_init_done(&pgpath->path, ret); 1191 pg_init_done, &pgpath->path);
1192} 1192}
1193 1193
1194/* 1194/*