Re: [PATCH] loop: add some basic read-only sysfs attributes

From: Kay Sievers
Date: Thu Jul 29 2010 - 12:07:59 EST


On Thu, Jul 29, 2010 at 16:58, Karel Zak <kzak@xxxxxxxxxx> wrote:
> On Thu, Jul 29, 2010 at 04:22:50PM +0200, Kay Sievers wrote:
>> On Thu, Jul 29, 2010 at 16:06, Milan Broz <mbroz@xxxxxxxxxx> wrote:
>> > On 07/29/2010 03:47 PM, Kay Sievers wrote:
>> >> On Thu, Jul 29, 2010 at 15:33, Milan Broz <mbroz@xxxxxxxxxx> wrote:
>> >>> Create /sys/block/loopX/loop directory and provide these attributes:
>> >>> Â- backing_file
>> >>> Â- autoclear
>> >>> Â- offset
>> >>> Â- sizelimit
>> >>>
>> >>> To be used in util-linux-ng (and possibly elsewhere like udev rules)
>> >>> where code need to get loop attributes from kernel (and not store
>> >>> duplicate info in userspace).
>> >>
>> >> Isn't it that the loop attributes are created _after_ the loopdev is
>> >> registered? That would make it hard to use these attributes from udev,
>> >> as the event is already running while they are created.
>> >
>> > First 8 loop devices are registered always (without backing file),
>> > so you have wait for change event initiated from fd set ioctl anyway...
>> > (backing file attribute is empty in that case)
>>
>> Ah, so we are sure, we always get a 'change' event, and before that,
>> none of these values are ever useful to read? I mean, there will not
>> be attributes that are interesting during an 'add' event?
>
> I think the patch does not change the current behavior. It exports
> details about loopdevs to userspace by /sys. This is the primary goal
> of the patch.

Sure it does. Sysfs attributes need to be created _before_ uevents are
sent out. The current behavior is that all blockdev attributes are
safely created before the event is sent. These loop attributes are
created _after_ the event is sent.

The question is if we can rely on the fact, that 'add' events never
want to look at any of these attributes, and all can be deferred to
later 'change' events. If we can't be fully certain about this, this
stuff must be changed to happen before the event for the blockdev is
sent out.

Kay
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/