[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19014.5501.31618.7897@notabene.brown>
Date: Sat, 27 Jun 2009 22:50:05 +1000
From: Neil Brown <neilb@...e.de>
To: Jens Axboe <jens.axboe@...cle.com>
Cc: "Martin K. Petersen" <martin.petersen@...cle.com>,
Mike Snitzer <snitzer@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Alasdair G Kergon <agk@...hat.com>,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-raid@...r.kernel.org, linux-ide@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
device-mapper development <dm-devel@...hat.com>
Subject: Re: [dm-devel] REQUEST for new 'topology' metrics to be moved out
of the 'queue' sysfs directory.
On Friday June 26, jens.axboe@...cle.com wrote:
> On Fri, Jun 26 2009, NeilBrown wrote:
> > Do you have a good reason for them going in /queue?
>
> Do you have a good reason for moving them? Im my opinion that makes the
> separation between ->make_request_fn and ->request_fn devices bigger.
Yes, I have a good reason.
Put succinctly: I have a reason for reverting the change to make
/queue visible in md/dm devices: It contains mostly fields that are
irrelevant to those devices.
Given that, I have a reason for moving the new fields: So that can be
visible for md/dm/loop/etc devices.
More verbosely:
Currently (i.e. 2.6.30 and earlier) every block device has a device
directory in /sys/devices. e.g. "sda". It contains attributes that
are generally applicable to any block device (size, ro etc).
Some devices, which use the __make_request driver/layer, have a
'queue' directory with attributes that are specific to the
implementation of __make_request and related code.
Other devices, which make use of the md_make_request driver/layer,
have an 'md' directory with attributes that are specific to that
implementation.
Other devices have no such directory (relevant values are managed
exclusively via ioctls).
We are adding a number of attributes that are generally applicable to
all block devices.
Given the above description of the current state, it seems natural for
the new attributes to go in the device directory -
e.g. sda/new-attribute.
This is exactly what has been done for 'alignment_offset'.
The same should be done for physical_block_size, minimum_io_size, and
optimal_io_size.
Introducing the 'queue' directory - which mostly contains fields
completely irrelevant to non- __make_request drivers - just to store
some values that can easily go elsewhere doesn't seem to make sense to
me.
As for increasing the "separation between ->make_request_fn and
->request_fn devices", I don't think that is a useful way to look at
the devices, as I detail in my other Email.
Thanks,
NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists