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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html