Signed-off-by: Chen Hanxiao <chenhanxiao(a)cn.fujitsu.com>
---
daemon/daemon.h | 1 +
daemon/labels.c | 22 +---------------------
daemon/ntfs.c | 19 +++++++++++++++++++
3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/daemon/daemon.h b/daemon/daemon.h
index 0731b09..7a4b97f 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -282,6 +282,7 @@ extern int btrfs_set_uuid_random (const char *device);
/*-- in ntfs.c --*/
extern char *ntfs_get_label (const char *device);
+extern int ntfs_set_label (const char *device, const char *label);
/*-- in swap.c --*/
extern int swap_set_uuid (const char *device, const char *uuid);
diff --git a/daemon/labels.c b/daemon/labels.c
index 1fadba4..d3e3f55 100644
--- a/daemon/labels.c
+++ b/daemon/labels.c
@@ -28,7 +28,6 @@
#include "optgroups.h"
GUESTFSD_EXT_CMD(str_dosfslabel, dosfslabel);
-GUESTFSD_EXT_CMD(str_ntfslabel, ntfslabel);
GUESTFSD_EXT_CMD(str_xfs_admin, xfs_admin);
static int
@@ -47,25 +46,6 @@ dosfslabel (const char *device, const char *label)
}
static int
-ntfslabel (const char *device, const char *label)
-{
- int r;
- CLEANUP_FREE char *err = NULL;
-
- /* XXX We should check if the label is longer than 128 unicode
- * characters and return an error. This is not so easy since we
- * don't have the required libraries.
- */
- r = command (NULL, &err, str_ntfslabel, device, label, NULL);
- if (r == -1) {
- reply_with_error ("%s", err);
- return -1;
- }
-
- return 0;
-}
-
-static int
xfslabel (const char *device, const char *label)
{
int r;
@@ -116,7 +96,7 @@ do_set_label (const mountable_t *mountable, const char *label)
r = ext_set_label (mountable->device, label);
else if (STREQ (vfs_type, "ntfs"))
- r = ntfslabel (mountable->device, label);
+ r = ntfs_set_label (mountable->device, label);
else if (STREQ (vfs_type, "xfs"))
r = xfslabel (mountable->device, label);
diff --git a/daemon/ntfs.c b/daemon/ntfs.c
index 0f63391..1ead159 100644
--- a/daemon/ntfs.c
+++ b/daemon/ntfs.c
@@ -71,6 +71,25 @@ ntfs_get_label (const char *device)
}
int
+ntfs_set_label (const char *device, const char *label)
+{
+ int r;
+ CLEANUP_FREE char *err = NULL;
+
+ /* XXX We should check if the label is longer than 128 unicode
+ * characters and return an error. This is not so easy since we
+ * don't have the required libraries.
+ */
+ r = command (NULL, &err, str_ntfslabel, device, label, NULL);
+ if (r == -1) {
+ reply_with_error ("%s", err);
+ return -1;
+ }
+
+ return 0;
+}
+
+int
do_ntfs_3g_probe (int rw, const char *device)
{
CLEANUP_FREE char *err = NULL;
--
2.1.0