mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
NEW API: add a new api wipefs
Add the new api wipefs to erase the filesystem signatures on a device but now erase any data. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
This commit is contained in:
committed by
Richard W.M. Jones
parent
6ca8a2db6d
commit
a2b3e0900e
2
TODO
2
TODO
@@ -318,8 +318,6 @@ Display the structure of an image file as a PS.
|
||||
Greater use of blkid / libblkid
|
||||
-------------------------------
|
||||
|
||||
guestfs_zero should use wipefs. See wipefs(8).
|
||||
|
||||
There are various useful functions in libblkid for listing partitions,
|
||||
devices etc which we are essentially duplicating in the daemon. It
|
||||
would make more sense to just use libblkid for this.
|
||||
|
||||
@@ -72,6 +72,30 @@ do_zero (const char *device)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
optgroup_wipefs_available (void)
|
||||
{
|
||||
return prog_exists ("wipefs");
|
||||
}
|
||||
|
||||
int
|
||||
do_wipefs (const char *device)
|
||||
{
|
||||
int r;
|
||||
char *err = NULL;
|
||||
|
||||
const char *wipefs[] = {"wipefs", "-a", device, NULL};
|
||||
r = commandv (NULL, &err, wipefs);
|
||||
if (r == -1) {
|
||||
reply_with_error ("%s", err);
|
||||
free (err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
free (err);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
do_zero_device (const char *device)
|
||||
{
|
||||
|
||||
@@ -6660,6 +6660,22 @@ List the files in C<directory> in the format of 'ls -laZ'.
|
||||
This command is mostly useful for interactive sessions. It
|
||||
is I<not> intended that you try to parse the output string.");
|
||||
|
||||
("wipefs", (RErr, [Device "device"], []), 306, [Optional "wipefs"],
|
||||
[InitBasicFSonLVM, Always, TestRun (
|
||||
[["wipefs"; "/dev/VG/LV"]])],
|
||||
"wipe a filesystem signature from a device",
|
||||
"\
|
||||
This command erases filesystem or RAID signatures from
|
||||
the specified C<device> to make the filesystem invisible to libblkid.
|
||||
|
||||
This does not erase the filesystem itself nor any other data from the
|
||||
C<device>.
|
||||
|
||||
Compare with C<guestfs_zero> which zeroes the first few blocks of a
|
||||
device.
|
||||
|
||||
=back");
|
||||
|
||||
]
|
||||
|
||||
let all_functions = non_daemon_functions @ daemon_functions
|
||||
|
||||
@@ -1 +1 @@
|
||||
305
|
||||
306
|
||||
|
||||
Reference in New Issue
Block a user