On Fri, Jun 26 2009, NeilBrown wrote: > On Fri, June 26, 2009 10:50 pm, Jens Axboe wrote: > > On Fri, Jun 26 2009, Neil Brown wrote: > >> Every block device has a 'gendisk' (aka generic disk). > >> Every block device also (currently) has a request_queue. > > > > I don't know why you keep saying currently. It has always had a queue, > > and I don't see a good reason why that should change for "special" block > > devices like md/dm/loop/whatnot. > > I say "currently" because I'm planning to create patches to make it > optional, and I want to get you used to the idea :-) > > And md/dm/loop/whatnot are not "special" block devices, any more than > scsi/ide are "special" block devices. They are all just block devices. > They use different mechanisms, but each is just as valid as the other. That was why I put it in quotes, they are just regular devices. > The current code makes 'struct request' based block devices in to > first-class citizens, and all the rest are second class (having to > tag our data structures on ->queue data and/or ->private_data). ?? How is that different from devices, the ones you refer to as first-class citizens? They too store device private data in eg ->queue_data. > I just want all block devices to be equal. There's no such thing as first or second class block devices. The fact that drivers using ->make_request_fn directly do not utilize the full scope of the queue isn't a very interesting fact, imho. -- Jens Axboe -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel