[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.1012011203290.8183@cobra.newdream.net>
Date: Wed, 1 Dec 2010 12:08:15 -0800 (PST)
From: Sage Weil <sage@...dream.net>
To: Greg KH <greg@...ah.com>
cc: Yehuda Sadeh <yehuda@...newdream.net>, ceph-devel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rbd: replace the rbd sysfs interface
On Wed, 1 Dec 2010, Greg KH wrote:
> > /sys/bus/rbd/{add,remove}
> > /sys/bus/rbd/devices/<devid>/ <-- struct device
> > /sys/bus/rbd/devices/<devid>/{some dev attrs}
> > /sys/bus/rbd/devices/<devid>/snap_<snapid>/ <-- struct device
> > /sys/bus/rbd/devices/<devid>/snap_<snapid>/{some snap attrs}
> >
> > This works, and I is (I hope) using struct device properly. The only
> > problem, purely from a user interface standpoint, is that the snaps are
> > mixed in with attributes, so anybody wanting to iterate over snaps needs
> > to do something crufty like
> >
> > $ for snap in `ls /sys/bus/rbd/devices/$id | grep ^snap_ | cut -c 6-`; do ...
>
> What's wrong with:
> for snap in `ls /sys/bus/rbd/devices/$id/snap_*`; do ...
> instead?
Yeah, it's really the 'cut -c 6-' bit that I was hoping to avoid. But it
snaps/ simply doesn't map onto the sysfs paradigm cleanly, that's fine.
That being the case, can we get an Acked-by on the current approach/patch?
Then I can send something Linus and let him decide what to do for .37.
Thanks!
sage
>
> And you would be using libudev ideally for a .c file, and iterating over
> the devices is pretty trivial that way from what I have seen.
>
> > Adding an intermediate snaps/ subdir would let them instead do
> >
> > $ for snap in `ls /sys/bus/rbd/devices/$id/snaps/`; do ...
> >
> > without worrying about the (arbitrarily named) snaps from colliding with
> > device attributes. Assuming that is a preferable interface, is the
> > "right" way to do that to make "snaps" a struct device? Or is there a
> > good reason why that is not preferable?
>
> It's not preferable as that "snaps" directory is a "blank" in the device
> tree, not showing the heiarchy properly. You can't walk the devices
> back from the devices in snaps/ to the parent properly (i.e. you would
> get stuck at the snaps/ directory as it's not a struct device, but a
> random kobject.
>
> Hope this helps,
>
> greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
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