On Wed, 2005-06-08 at 13:00 +1000, Douglas Gilbert wrote: > A "char_uld" library that st, sg, ch and the proposed OSD > ULDs could tap into, would cut the duplication. As you can > see, Kai and I have shared implementations in this area but > had no mechanism for sharing the actual code. Well, yes, I've been asking for something like this for ages. However, with the new block APIs it seems that the character read and write paths become very short, so it may no longer be worth it. Also, I really don't think OSD should be a character device. It's definitely a block device, it just happens to have a two dimensional address space instead of a one dimensional one. > An idea I had was to flag what mechanism inserted a > command onto a request queue and when a blk_pc_request() > follows a blk_pc_request() then use FIFO order for > the second one. Really, I think it's cleaner for head or tail insertion to be handled at the time the request is generated. However, the block queues of character taps are special; we certainly don't need all the elevator merging machinery, so perhaps we should have a way of setting them up as noop elevator? James - : 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