Re: [PATCH -V14 0/11] Generic name to handle and open by handlesyscalls

From: Neil Brown
Date: Tue Jul 06 2010 - 19:36:55 EST


On Wed, 7 Jul 2010 09:23:51 +1000
Dave Chinner <david@xxxxxxxxxxxxx> 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".

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 )
- 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.

NeilBrown
--
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/