On Fri, Feb 07, 2014 at 10:20:10AM +0000, Hugo Mills wrote:
> On Fri, Feb 07, 2014 at 06:08:56PM +0800, Anand Jain wrote:
> >  mainly here sysfs way defeats the purpose - debug as
> >  mentioned. Sysfs would/should show only mounted disks,
> 
>    So let's find a way of showing the "known-about" data structure
> separately from the "mounted" data structure. Just thinking aloud
> here, how about something like this:
> 
> For unmounted, but known filesystems:
> /sys/fs/btrfs/devmap/<UUID>/<symlink to device>   (for each device known)
> /sys/fs/btrfs/devmap/<UUID>/label
> /sys/fs/btrfs/devmap/<UUID>/complete      (0 if missing devices, 1 otherwise)
> /sys/fs/btrfs/devmap/<UUID>/<other properties>

I like that, the device map represents the global state maintained by the
module, does not interfere with the current sysfs structure.

One minor comment, the symlink to device should have probably a fixed
name so it can be easily located.

> And then for mounted filesystems, we can populate the <other
> properties> with more details as appropriate (and remove them when
> unmounted again). We can also add a symlink to the <UUID> directory
> for the filesystem to e.g.:
> 
> /sys/fs/btrfs/mounted/<symlink to UUID>
> 
>    If truly the *only* reason to do this is debug, then simply dump
> the info in debugfs and have done with it. However, there are good
> reasons to want to have this information in an ordinary running
> system, too. So stick with sysfs, IMO.

Agreed.

> >  the ioctl way doesn't have such a limitation (of course
> >  as I commented memory dump way would have been best choice
> >  but I got stuck with that approach if anybody wants to give
> >  a try with that approach you are most welcome).
> > 
> >  IMO no harm to have both sysfs way and ioctl way let user
> >  or developer use which were is suitable in their context.
> 
>    Extra maintenance overhead; divergence of the APIs. "You can find
> out the label of the filesystem using sysfs, but not the ioctl. You
> can find out the size of the filesystem using the ioctl, but not using
> sysfs." That way lies quite a bit of pain for the user of the
> interfaces.

I won't mind having several ways how to get the information, sysfs,
ioctl or the properties. Each way has it's own pros and cons or is
suitable for some type of user (C program, shell scripts).
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to