diff options
author | Richard Jones <rjones@redhat.com> | 2010-05-21 14:14:59 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-05-21 14:51:57 +0100 |
commit | 7cb6fac3074c52ac3c3e9ead5d99e4a2887cf7b1 (patch) | |
tree | f4a337eef51e6efd0d70bce8333824211cef6cab | |
parent | 9be89728f2a0ff17d54a0dba981015fa6405eb50 (diff) | |
download | libguestfs-7cb6fac3074c52ac3c3e9ead5d99e4a2887cf7b1.tar.gz libguestfs-7cb6fac3074c52ac3c3e9ead5d99e4a2887cf7b1.tar.xz libguestfs-7cb6fac3074c52ac3c3e9ead5d99e4a2887cf7b1.zip |
New API: ntfsresize-size to allow shrinking NTFS (RHBZ#585223).
-rw-r--r-- | daemon/ntfs.c | 21 | ||||
-rw-r--r-- | src/MAX_PROC_NR | 2 | ||||
-rwxr-xr-x | src/generator.ml | 7 |
3 files changed, 29 insertions, 1 deletions
diff --git a/daemon/ntfs.c b/daemon/ntfs.c index 8938dbde..46b8333e 100644 --- a/daemon/ntfs.c +++ b/daemon/ntfs.c @@ -20,6 +20,7 @@ #include <stdio.h> #include <stdlib.h> +#include <inttypes.h> #include <string.h> #include <unistd.h> @@ -75,3 +76,23 @@ do_ntfsresize (const char *device) return 0; } + +int +do_ntfsresize_size (const char *device, int64_t size) +{ + char *err; + int r; + + char buf[32]; + snprintf (buf, sizeof buf, "%" PRIi64, size); + + r = command (NULL, &err, "ntfsresize", "-P", "--size", buf, + device, NULL); + if (r == -1) { + reply_with_error ("%s: %s", device, err); + free (err); + return -1; + } + + return 0; +} diff --git a/src/MAX_PROC_NR b/src/MAX_PROC_NR index e06108c0..cb1a40df 100644 --- a/src/MAX_PROC_NR +++ b/src/MAX_PROC_NR @@ -1 +1 @@ -247 +250 diff --git a/src/generator.ml b/src/generator.ml index 1032a1a2..95a26370 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -4700,6 +4700,13 @@ allows you to specify the new size (in bytes) explicitly."); This command is the same as C<guestfs_pvresize> except that it allows you to specify the new size (in bytes) explicitly."); + ("ntfsresize_size", (RErr, [Device "device"; Int64 "size"]), 250, [Optional "ntfsprogs"], + [], + "resize an NTFS filesystem (with size)", + "\ +This command is the same as C<guestfs_ntfsresize> except that it +allows you to specify the new size (in bytes) explicitly."); + ] let all_functions = non_daemon_functions @ daemon_functions |