Messages in this thread | | | Date | Thu, 29 Jul 2010 21:56:16 +0200 | From | Karel Zak <> | Subject | Re: [PATCH] loop: add some basic read-only sysfs attributes |
| |
On Thu, Jul 29, 2010 at 06:07:31PM +0200, Kay Sievers wrote: > On Thu, Jul 29, 2010 at 16:58, Karel Zak <kzak@redhat.com> 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@redhat.com> wrote: > >> > On 07/29/2010 03:47 PM, Kay Sievers wrote: > >> >> On Thu, Jul 29, 2010 at 15:33, Milan Broz <mbroz@redhat.com> 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
I think we can rely on this fact, 'add' does not mean that the device is ready. BTW, why there is /sys/block/loopN at all if the device is not associated with any backing file?
Note that /sys/block/loopN/ro is there for years and depends on backing file as well (so it's useless after "add").
> 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.
The primary goal is to use the attributes in mount(8) and losetup(8). I have doubts that we will use it udev rules.
Karel
-- Karel Zak <kzak@redhat.com> http://karelzak.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |