Do you think the following could work If I used blk layer functions instead of "scsi_execute_async": Blk_get_request() Req->flags |= REQ_DONTPREP Blk_rq_map_kern() Blk_execute_req_nowait() Blk_put_request() Regards, Sudhir -----Original Message----- From: Mike Christie [mailto:michaelc@xxxxxxxxxxx] Sent: Sunday, March 04, 2007 11:07 AM To: James Bottomley Cc: Dachepalli, Sudhir; Benny Halevy; Jens Axboe; Boaz Harrosh; linux-scsi@xxxxxxxxxxxxxxx Subject: Re: Possible bug in scsi_lib.c:scsi_req_map_sg() Mike Christie wrote: > James Bottomley wrote: >> On Sun, 2007-03-04 at 10:21 -0600, Mike Christie wrote: >>> I think they get around this and other request settings that need >>> resetting by using scsi_execute_async. They will take the command, >>> data direction and buffer fields from the original scsi_cmnd, then >>> pass those on to scsi_ececute_async which would allocate a new >>> request and then as you know that new request gets sent to the scsi >>> layer and looks like a brand new request. So I misspoke above. It >>> might be better to say they are using it for routing what the other >>> multipath layers would call cloned commands. >> But actually, that's what I don't think they want to do. > > Yeah, you are right. Proper cloning is the better way to go. I meant routing of commands and possibly cloning like you described, not just cloning. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html