[PATCHv2] Comment out the fstab lines with unknown filesystem rather then ignoring them
Martin Gracik
mgracik at redhat.com
Thu Jul 12 14:11:55 UTC 2012
----- Original Message -----
> When doing upgrade, there is no need to ignore the fstab lines with
> filesystem
> Anaconda does not support. We can leave the lines as they are and
> just comment
> them out to prevent mounting problems during the next boot.
>
> Resolves: rhbz#754213
> ---
> fsset.py | 23 +++++++++++++++++++++++
> upgrade.py | 3 +--
> 2 files changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/fsset.py b/fsset.py
> index 9636003..85f6623 100644
> --- a/fsset.py
> +++ b/fsset.py
> @@ -30,6 +30,7 @@ import partedUtils
> import raid
> import lvm
> import types
> +import copy
> from flags import flags
>
> import bootyutil
> @@ -1316,6 +1317,7 @@ class FileSystemSet:
> self.reset()
> self.volumesCreated = 0
> self.anaconda = anaconda
> + self.unknownFSlines = list()
>
> def isActive(self):
> return self.mountcount != 0
> @@ -1431,8 +1433,21 @@ class FileSystemSet:
> new = FileSystemSet(self.anaconda)
> for entry in self.entries:
> new.add (entry)
> + new.unknownFSlines = copy.copy(self.unknownFSlines)
Aren't the members of self.unknownFSlines list just strings? Is the copy.copy necessary? Wouldn't plain self.unknownFSlines[:] be enough?
> return new
>
> + def extend (self, fsset):
> + """
> + Extends the entry set and the list of unknownFSlines with
> values
> + from a given fsset.
> +
> + """
> +
> + for entry in fsset.entries:
> + self.add(entry)
> +
> + self.unknownFSlines.extend(fsset.unknownFSlines)
> +
> def fstab (self):
> format = "%-23s %-23s %-7s %-15s %d %d\n"
> fstab = ""
> @@ -1460,6 +1475,11 @@ class FileSystemSet:
> entry.fsystem.getName(),
> options, entry.fsck,
> entry.order)
> +
> + # append commented out lines with unknown (not supported)
> filesystems
> + for line in self.unknownFSlines:
> + fstab += "#" + line
> +
> return fstab
>
> def mtab (self):
> @@ -2969,6 +2989,9 @@ def readFstab (anaconda):
> break
> # "none" is valid as an fs type for bind mounts (#151458)
> if fsystem is None and (string.find(fields[3], "bind") ==
> -1):
> + # add the line to the list of lines that will be
> commented out in
> + # the new fstab
> + fsset.unknownFSlines.append(line)
> continue
>
> label = None
> diff --git a/upgrade.py b/upgrade.py
> index 5beb8a2..f3e243c 100644
> --- a/upgrade.py
> +++ b/upgrade.py
> @@ -198,8 +198,7 @@ def mountRootPartition(anaconda, rootInfo,
> oldfsset, allowDirty = 0,
>
> oldfsset.reset()
> newfsset = readFstab(anaconda)
> - for entry in newfsset.entries:
> - oldfsset.add(entry)
> + oldfsset.extend(newfsset)
>
> isys.umount(anaconda.rootPath)
>
> --
> 1.7.4.4
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/anaconda-patches
>
More information about the anaconda-patches
mailing list