Add nilfs2 label rename
authorJiro SEKIBA <jir@unicus.jp>
Thu, 14 Oct 2010 05:56:19 +0000 (14:56 +0900)
committerMartin Pitt <martin.pitt@ubuntu.com>
Thu, 14 Oct 2010 07:06:51 +0000 (09:06 +0200)
Support renaming label of nilfs2 partition.  Renaming is done by nilfs2-tune,
which is in nilfs2-util > 2.0.20.

This patch enables the label test excluded for lacking utility.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
src/daemon.c
src/helpers/job-change-filesystem-label.c
tests/run

index 44be94f..d46c6da 100644 (file)
@@ -395,7 +395,7 @@ static const Filesystem known_file_systems[] =
       TRUE, /* can_mount */
       TRUE, /* can_create */
       80, /* max_label_len */
-      FALSE, /* supports_label_rename */
+      TRUE, /* supports_label_rename */
       FALSE, /* supports_online_label_rename*/
       FALSE, /* supports_fsck */
       FALSE, /* supports_online_fsck */
index 5b3e746..bdb28c6 100644 (file)
@@ -103,6 +103,10 @@ main (int argc,
     {
       command_line = g_strdup_printf ("ntfslabel %s \"%s\"", device, new_label);
     }
+  else if (strcmp (fstype, "nilfs2") == 0)
+    {
+      command_line = g_strdup_printf ("nilfs-tune -L %s \"%s\"", new_label, device);
+    }
   else
     {
       g_printerr ("fstype %s not supported\n", fstype);
index d320333..bc27cc9 100755 (executable)
--- a/tests/run
+++ b/tests/run
@@ -590,8 +590,8 @@ class FS(UDisksTestCase):
                 self.assertEqual(fs[3], type != 'swap') # can_mount
                 self.assert_(fs[4]) # can_create
                 supports_label_rename = fs[6]
-                # minix does not support labels; EXFAIL: swap, btrfs, nilfs2 don't have a program for it
-                self.assertEqual(supports_label_rename, type not in ('nilfs2', 'btrfs', 'minix', 'swap'))
+                # minix does not support labels; EXFAIL: swap, btrfs don't have a program for it
+                self.assertEqual(supports_label_rename, type not in ('btrfs', 'minix', 'swap'))
                 break
         else:
             self.fail('KnownFilesystems does not contain ' + type)