Messages in this thread | | | Date | Wed, 7 Jul 2010 09:36:29 +1000 | From | Neil Brown <> | Subject | Re: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls |
| |
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".
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
| |