[master 4/21] Move kernel_filesystems functionality into a little library.

mulkieran installerbot-noreply at redhat.com
Tue May 12 21:35:46 UTC 2015


From: mulhern <amulhern at redhat.com>

Related: #12

This way, tasks can know what the kernel filesystems are if they need to.
Avoids circular imports of filesystems, task, then filesystem again.

Signed-off-by: mulhern <amulhern at redhat.com>
---
 blivet/devicetree.py    |  2 +-
 blivet/formats/fs.py    | 14 ++------------
 blivet/formats/fslib.py | 36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+), 13 deletions(-)
 create mode 100644 blivet/formats/fslib.py

diff --git a/blivet/devicetree.py b/blivet/devicetree.py
index 8a58402..27df6b8 100644
--- a/blivet/devicetree.py
+++ b/blivet/devicetree.py
@@ -1015,7 +1015,7 @@ def handleNodevFilesystems(self):
             except ValueError:
                 log.error("failed to parse /proc/mounts line: %s", line)
                 continue
-            if fstype in formats.fs.nodev_filesystems:
+            if fstype in formats.fslib.nodev_filesystems:
                 if not flags.include_nodev:
                     continue
 
diff --git a/blivet/formats/fs.py b/blivet/formats/fs.py
index a8b9558..6372a2b 100644
--- a/blivet/formats/fs.py
+++ b/blivet/formats/fs.py
@@ -41,21 +41,11 @@
 from .. import udev
 from ..mounts import mountsCache
 
+from .fslib import kernel_filesystems, update_kernel_filesystems
+
 import logging
 log = logging.getLogger("blivet")
 
-kernel_filesystems = []
-nodev_filesystems = []
-
-def update_kernel_filesystems():
-    for line in open("/proc/filesystems").readlines():
-        fields = line.split()
-        kernel_filesystems.append(fields[-1])
-        if fields[0] == "nodev":
-            nodev_filesystems.append(fields[-1])
-
-update_kernel_filesystems()
-
 class FS(DeviceFormat):
     """ Filesystem base class. """
     _type = "Abstract Filesystem Class"  # fs type name
diff --git a/blivet/formats/fslib.py b/blivet/formats/fslib.py
new file mode 100644
index 0000000..618c15b
--- /dev/null
+++ b/blivet/formats/fslib.py
@@ -0,0 +1,36 @@
+# fslib.py
+# Library to support filesystem classes.
+#
+# Copyright (C) 2015  Red Hat, Inc.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# the GNU General Public License v.2, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY expressed or implied, including the implied warranties of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.  You should have received a copy of the
+# GNU General Public License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
+# source code or documentation are not subject to the GNU General Public
+# License and may only be used or replicated with the express permission of
+# Red Hat, Inc.
+#
+# Red Hat Author(s): Dave Lehman <dlehman at redhat.com>
+#                    David Cantrell <dcantrell at redhat.com>
+#                    Anne Mulhern <amulhern at redhat.com>
+
+kernel_filesystems = []
+nodev_filesystems = []
+
+def update_kernel_filesystems():
+    with open("/proc/filesystems") as filesystems:
+        for line in filesystems:
+            fields = line.split()
+            fstype = fields[-1]
+            kernel_filesystems.append(fstype)
+            if fields[0] == "nodev":
+                nodev_filesystems.append(fstype)
+
+update_kernel_filesystems()


-- 
To view this commit on github, visit https://github.com/rhinstaller/blivet/commit/89e2906a26141604171bb144962dffb32b3a31ed


More information about the anaconda-patches mailing list