mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
New APIs: vfs-label and vfs-uuid return label and uuid for many fs types.
These APIs generalize the existing 'get-e2label' and 'get-e2uuid' calls, to provide calls which should be able to get the label and UUID for most filesystem types. These use 'blkid' to do the work. I have tested that the blkid commands themselves work on RHEL 5. (Suggested by Yufang Zhang).
This commit is contained in:
@@ -64,3 +64,15 @@ do_vfs_type (const char *device)
|
||||
{
|
||||
return get_blkid_tag (device, "TYPE");
|
||||
}
|
||||
|
||||
char *
|
||||
do_vfs_label (const char *device)
|
||||
{
|
||||
return get_blkid_tag (device, "LABEL");
|
||||
}
|
||||
|
||||
char *
|
||||
do_vfs_uuid (const char *device)
|
||||
{
|
||||
return get_blkid_tag (device, "UUID");
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
252
|
||||
254
|
||||
|
||||
@@ -4754,6 +4754,29 @@ Do not confuse this with the guestfish-specific
|
||||
C<alloc> and C<sparse> commands which create
|
||||
a file in the host and attach it as a device.");
|
||||
|
||||
("vfs_label", (RString "label", [Device "device"]), 253, [],
|
||||
[InitBasicFS, Always, TestOutput (
|
||||
[["set_e2label"; "/dev/sda1"; "LTEST"];
|
||||
["vfs_label"; "/dev/sda1"]], "LTEST")],
|
||||
"get the filesystem label",
|
||||
"\
|
||||
This returns the filesystem label of the filesystem on
|
||||
C<device>.
|
||||
|
||||
If the filesystem is unlabeled, this returns the empty string.");
|
||||
|
||||
("vfs_uuid", (RString "uuid", [Device "device"]), 254, [],
|
||||
(let uuid = uuidgen () in
|
||||
[InitBasicFS, Always, TestOutput (
|
||||
[["set_e2uuid"; "/dev/sda1"; uuid];
|
||||
["vfs_uuid"; "/dev/sda1"]], uuid)]),
|
||||
"get the filesystem UUID",
|
||||
"\
|
||||
This returns the filesystem UUID of the filesystem on
|
||||
C<device>.
|
||||
|
||||
If the filesystem does not have a UUID, this returns the empty string.");
|
||||
|
||||
]
|
||||
|
||||
let all_functions = non_daemon_functions @ daemon_functions
|
||||
|
||||
Reference in New Issue
Block a user