New API: ntfsresize.
authorRichard Jones <rjones@redhat.com>
Sat, 10 Apr 2010 12:13:07 +0000 (13:13 +0100)
committerRichard Jones <rjones@redhat.com>
Sat, 10 Apr 2010 12:41:45 +0000 (13:41 +0100)
This implements the ntfsresize operation, using the external
program from ntfsprogs.

daemon/ntfs.c
src/generator.ml

index 73ccbbc..8938dbd 100644 (file)
@@ -35,6 +35,13 @@ optgroup_ntfs3g_available (void)
 }
 
 int
+optgroup_ntfsprogs_available (void)
+{
+  int r = access ("/usr/sbin/ntfsresize", X_OK);
+  return r == 0;
+}
+
+int
 do_ntfs_3g_probe (int rw, const char *device)
 {
   char *err;
@@ -52,3 +59,19 @@ do_ntfs_3g_probe (int rw, const char *device)
 
   return r;
 }
+
+int
+do_ntfsresize (const char *device)
+{
+  char *err;
+  int r;
+
+  r = command (NULL, &err, "ntfsresize", "-P", device, NULL);
+  if (r == -1) {
+    reply_with_error ("%s: %s", device, err);
+    free (err);
+    return -1;
+  }
+
+  return 0;
+}
index 9d19097..24b9bc0 100755 (executable)
@@ -4373,6 +4373,14 @@ I<xz compressed> tar file) into C<directory>.");
 This command packs the contents of C<directory> and downloads
 it to local file C<tarball> (as an xz compressed tar archive).");
 
+  ("ntfsresize", (RErr, [Device "device"]), 231, [Optional "ntfsprogs"],
+   [],
+   "resize an NTFS filesystem",
+   "\
+This command resizes an NTFS filesystem, expanding or
+shrinking it to the size of the underlying device.
+See also L<ntfsresize(8)>.");
+
 ]
 
 let all_functions = non_daemon_functions @ daemon_functions