[Libguestfs] [PATCH 1/3] NEW API: add a new api zero_fs
Wanlong Gao
gaowanlong at cn.fujitsu.com
Tue Feb 7 02:36:43 UTC 2012
On 02/06/2012 04:26 PM, Richard W.M. Jones wrote:
> On Mon, Feb 06, 2012 at 04:17:05PM +0800, Wanlong Gao wrote:
>> Add the new api zero_fs to erase the filesystem signatures
>> on a device but now erase any data.
>>
>> Signed-off-by: Wanlong Gao <gaowanlong at cn.fujitsu.com>
>> ---
>> daemon/zero.c | 17 +++++++++++++++++
>> generator/generator_actions.ml | 14 ++++++++++++++
>> src/MAX_PROC_NR | 2 +-
>> 3 files changed, 32 insertions(+), 1 deletions(-)
>>
>> diff --git a/daemon/zero.c b/daemon/zero.c
>> index 398f844..348869f 100644
>> --- a/daemon/zero.c
>> +++ b/daemon/zero.c
>> @@ -73,6 +73,23 @@ do_zero (const char *device)
>> }
>>
>> int
>> +do_zero_fs (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)
>> {
>> int64_t ssize = do_blockdev_getsize64 (device);
>> diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml
>> index 3a7be79..d27ef43 100644
>> --- a/generator/generator_actions.ml
>> +++ b/generator/generator_actions.ml
>> @@ -6651,6 +6651,20 @@ This option may not be specified at the same time as the C<correct> option.
>>
>> =back");
>>
>> + ("zero_fs", (RErr, [Device "device"], []), 305, [Progress],
>> + [InitBasicFSonLVM, Always, TestRun (
>> + [["zero_fs"; "/dev/VG/LV"]])],
>> + "wipe a filesystem signature from a device",
>> + "\
>> +This command can erase filesystem or raid signatures (magic strings) from
>> +the specified C<device> to make the filesystem invisible for libblkid.
>> +This does not erase the filesystem itself nor any other data from the C<device>.
>> +Compare with C<guestfs_zero> which just zeroes the first few blocks of a
>> +device, contained the partitions on the device, but this C<guestfs_zero_fs>
>> +can't erase the partitions of a device.
>> +
>> +=back");
>> +
>> ]
>>
>> let all_functions = non_daemon_functions @ daemon_functions
>> diff --git a/src/MAX_PROC_NR b/src/MAX_PROC_NR
>> index 873b744..67d04b9 100644
>> --- a/src/MAX_PROC_NR
>> +++ b/src/MAX_PROC_NR
>> @@ -1 +1 @@
>> -304
>> +305
>
> Ah, wipefs, I think this is a good idea, and it's been on the
> TODO list for a long time.
>
> What do people think about calling the API 'wipefs' instead of
> 'zero-fs'?
I've no idea with this, calling 'wipefs' is good, but 'zero-fs' can
be consistent with the "guestfs_zero*" api. So, up to you.
>
> Can you update the patch to remove the reference to wipefs in the TODO
> file?
sure, done in v2.
Thanks
-Wanlong Gao
>
> Rich.
>
More information about the Libguestfs
mailing list