[blivet:rhel7/master 04/16] Remove code about unsetting a label (#1038590)

mulhern amulhern at redhat.com
Thu Jan 16 16:10:05 UTC 2014


Related: rhbz#1038590

All of the label setting application that we use can unset a label; just
xfs_admin requires a special syntax.

This means that we can get rid of one function in FSLabelApp and all its
decendants and that we can get rid of a check in writeLabel.

Signed-off-by: mulhern <amulhern at redhat.com>
---
 blivet/formats/fs.py            |  3 ---
 blivet/formats/fslabel.py       | 30 +-----------------------------
 tests/formats_test/misc_test.py |  6 ++----
 3 files changed, 3 insertions(+), 36 deletions(-)

diff --git a/blivet/formats/fs.py b/blivet/formats/fs.py
index 064c8e8..2f7f7f6 100644
--- a/blivet/formats/fs.py
+++ b/blivet/formats/fs.py
@@ -653,9 +653,6 @@ class FS(DeviceFormat):
         if self.label and not self.labelFormatOK(self.label):
             raise FSError("bad label format for labelling application %s" % self._labelfs.name)
 
-        if not self.label and not self._labelfs.unsetsLabel:
-            raise FSError("application %s can not unset a filesystem label." % self._labelfs.name)
-
         if not os.path.exists(self.device):
             raise FSError("device does not exist")
 
diff --git a/blivet/formats/fslabel.py b/blivet/formats/fslabel.py
index 0291ba4..e368f0f 100644
--- a/blivet/formats/fslabel.py
+++ b/blivet/formats/fslabel.py
@@ -45,14 +45,6 @@ class FSLabelApp(object):
         """
         raise NotImplementedError
 
-    @abc.abstractproperty
-    def unsetsLabel(self):
-        """Returns True if this app can write an empty label.
-
-           :rtype: bool
-        """
-        raise NotImplementedError
-
     @abc.abstractmethod
     def labelFormatOK(self, label):
         """Returns True if this label is correctly formatted for this
@@ -132,10 +124,6 @@ class E2Label(FSLabelApp):
     def reads(self):
         return True
 
-    @property
-    def unsetsLabel(self):
-        return True
-
     def _writeLabelArgs(self, fs):
         if fs.label:
             return [fs.device, fs.label]
@@ -160,10 +148,6 @@ class DosFsLabel(FSLabelApp):
     def reads(self):
         return True
 
-    @property
-    def unsetsLabel(self):
-        return True
-
     def _writeLabelArgs(self, fs):
         if fs.label:
             return [fs.device, fs.label]
@@ -188,10 +172,6 @@ class JFSTune(FSLabelApp):
     def reads(self):
         return False
 
-    @property
-    def unsetsLabel(self):
-        return True
-
     def _writeLabelArgs(self, fs):
         if fs.label:
             return ["-L", fs.label, fs.device]
@@ -216,10 +196,6 @@ class ReiserFSTune(FSLabelApp):
     def reads(self):
         return False
 
-    @property
-    def unsetsLabel(self):
-        return True
-
     def _writeLabelArgs(self, fs):
         if fs.label:
             return ["-l", fs.label, fs.device]
@@ -244,15 +220,11 @@ class XFSAdmin(FSLabelApp):
     def reads(self):
         return True
 
-    @property
-    def unsetsLabel(self):
-        return False
-
     def _writeLabelArgs(self, fs):
         if fs.label:
             return ["-L", fs.label, fs.device]
         else:
-            raise ValueError("%s cannot set an empty label." % self.name)
+            return ["-L", "--", fs.device]
 
     def labelFormatOK(self, label):
         return ' ' not in label and len(label) < 13
diff --git a/tests/formats_test/misc_test.py b/tests/formats_test/misc_test.py
index b35a783..808736e 100755
--- a/tests/formats_test/misc_test.py
+++ b/tests/formats_test/misc_test.py
@@ -93,10 +93,8 @@ class LabelingAsRootTestCase(baseclass.DevicelibsTestCase):
         self.assertEqual(an_fs.readLabel(), an_fs.label)
 
         an_fs.label = None
-        self.assertRaisesRegexp(fs.FSError,
-            "can not unset a filesystem label",
-            an_fs.writeLabel)
-        self.assertEqual(an_fs.readLabel(), "temeraire")
+        self.assertIsNone(an_fs.writeLabel())
+        self.assertEqual(an_fs.readLabel(), an_fs.label)
 
         an_fs.label = "root___filesystem"
         self.assertRaisesRegexp(fs.FSError,
-- 
1.8.3.1



More information about the anaconda-patches mailing list