lkml.org 
[lkml]   [2010]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls
    On Wed, Jul 07, 2010 at 09:36:29AM +1000, Neil Brown wrote:
    > On Wed, 7 Jul 2010 09:23:51 +1000
    > Dave Chinner <david@fromorbit.com> wrote:
    >
    > > > I can add a new syscall that returns
    > > >
    > > > struct fs_uuid {
    > > > u8 fs_uuid[16];
    > > > };
    > > >
    > > > long sys_get_fs_uuid(int dfd, char *name, struct fs_uuid *fsid, int flag);
    > >
    > > libblkid already provides the UUID to userspace applications, doesn't it?
    >
    > Yes and no.
    >
    > libblkid provides the uuid of the thing that uses a block device. That
    > doesn't directly map to "UUID of a filesystem".

    True.

    > There are two types of filesystem that I can think of for which libblkid
    > cannot give a uuid.
    > - network filesystems (or virtual filesystems, or fuse )

    How would you guarantee persistent uniqueness for such filesystems?

    > - filesystems which share a block device, such as btrfs.
    > btrfs can have 'subvols' - multiple "filesystems" within
    > the one (set of) block device(s). libblkid cannot be asked about these
    > different subvols.
    >
    > libblkid is useful, but not a real solution.

    So libblkid doesn't cover everything, but I think my question is
    still valid - if we want per-filesystem UUIDs, why a syscall and not
    just publishing it somewhere where we already publish per-mount
    information? e.g. in /proc/mounts?

    Cheers,

    Dave.
    --
    Dave Chinner
    david@fromorbit.com


    \
     
     \ /
      Last update: 2010-07-07 04:15    [W:4.240 / U:0.180 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site