On Thu, Aug 12 2004, Mike Christie wrote: > Hi Jens, > > I just had a quick question, becuase there are concerns that we are > abusing your block layer sg io code. > > For DM (which as you know just remaps bios) multipath, we sometimes need > to send a special vendor specific scsi command to the device to initiate > failover. To accomplish this we could just have DM alloc and init a > request and then send it down like a block sg io by calling > elv_add_request or blk_insert_request. > > One of the problems with that is if a another remapper driver like MD or > DM is under dm-multipath then the underlying device has no request_fn > and this model will break. Is it acceptable to just say that this is not > a valid config, should we begin to make it possible to pass requests > around through remapper drivers like we do with bios, or should we avoid > the mess and goto userspace (with userspace there would have to be a way > to properly traverse mappers too though)? It's a good question, I've wondered what the best solution would be before. Since you have no io scheduler attached to device mapper like targets, you cannot rely attempt to pass requests around. For 2.7 we might want to fix this, I think for 2.6 the best option is to resolve the stacking and make sure you submit the request to the bottom queue. Alternatively, I much favor punting this to userland... -- Jens Axboe