On Sat, 28 May 2005, James Bottomley wrote: > On Sat, 2005-05-28 at 10:32 +0200, Guennadi Liakhovetski wrote: > > So, just pass ioctl()'s directly and convert the rest (filesystem) > > block > > requests separately - wouldn't it be easier and avoid any > > modifications to > > other drivers? > > Before you go any further, I suggest you think about what an ioctl is > and why we're going through a process of trying to get rid of them in > the kernel: They're structured streams of information, where the > structure is architecture and 64/32 bit dependent (look at all the > issues over compat ioctls). Inherently these things will be incredibly > nasty to convert to an architecture neutral network protocol, and you'll > have to provide a translator to and from every possible ioctl...they're > inherently unsuitable things for building a protocol on top of. On the > other hand, the current nbd protocol is block request based, which is > why I suggested looking at that instead. Yeah... Well, whatever way it goes further, I think, 1 thing we do have to do before implementing that functionality - moving open / close in nbd-server from start / stop to be triggered by the client - right? And the flags and the return code should be passed accordingly. That's exactly what I've done so far. As for the ioctls vs. REQ_BLOCK_PC... Well, I am open. I just thought: either we convert ioctls to ioctls, or block commands to ioctls, in any case ioctls are what we have to issue on the server side. But I'll rather trust you than myself on this:-) So, if no other opinions pop up in this discussion, I might try to play in that direction a bit. Will see. Thanks Guennadi --- Guennadi Liakhovetski - : 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