Chandra Seetharaman wrote:
+
+static int send_cmd(struct scsi_device *sdev, int cmd)
+{
+ struct request *rq = get_req(sdev, cmd);
+
+ if (!rq)
+ return SCSI_DH_RES_TEMP_UNAVAIL;
+
+ return blk_execute_rq(sdev->request_queue, NULL, rq, 1);
+}
+
My only concerns are:
1. EMC and HP need to send a command to every device to transition them.
Because we do blk_execute_rq from the dm multipath workqueue we can now
only failover/failback for a couple devices at a time.
I am not sure if this is a big deal, because this the error handler path
so it is going to be slower than the normal path. But it seems like
customers are really picky about failover times and want them as fast as
possible. If they have a couple hundred devices doing a couple at a time
might be something that users see as a regression from the old code. I
am not sure though. I just do not want the bugzillas when they come to
work :)
2. EMC guys did you test the short vs long tress pass stuff? Do we need
to add some code to handle the case where we send a short one, but we
needed to send a long one. Is there some sense error or some inquiry
data we can base this off of?
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel