summaryrefslogtreecommitdiffstats
path: root/upgrade.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-08-30 21:48:10 +0000
committerJeremy Katz <katzj@redhat.com>2001-08-30 21:48:10 +0000
commit51fe5ec47af894193eef1d8502457774113e5483 (patch)
tree89defe45dbfdeab9a329ee4ecf38cc66aa7fc7dd /upgrade.py
parentde096bdccaf29c0c66b3672e0d9a324f7e88236b (diff)
downloadanaconda-51fe5ec47af894193eef1d8502457774113e5483.tar.gz
anaconda-51fe5ec47af894193eef1d8502457774113e5483.tar.xz
anaconda-51fe5ec47af894193eef1d8502457774113e5483.zip
auto fstype makes mounting the root fs not work very well... add a check to make sure the root fs was mountable and make it so upgrades give an error if this is hit (52907)
Diffstat (limited to 'upgrade.py')
-rw-r--r--upgrade.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/upgrade.py b/upgrade.py
index ee53eed25..2785085d0 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -83,6 +83,12 @@ def mountRootPartition(intf, rootInfo, oldfsset, instPath, allowDirty = 0,
if flags.setupFilesystems:
oldfsset.mountFilesystems(instPath)
+ # XXX we should properly support 'auto' at some point
+ if (not oldfsset.getEntryByMountPoint("/") or
+ not oldfsset.getEntryByMountPoint("/").fsystem or
+ not oldfsset.getEntryByMountPoint("/").fsystem.isMountable()):
+ raise RuntimeError, "/etc/fstab did not list a fstype for the root partition which we support"
+
# returns None if no filesystem exist to migrate
def upgradeMigrateFind(dispatch, thefsset):
migents = thefsset.getMigratableEntries()
@@ -215,6 +221,13 @@ def upgradeMountFilesystems(intf, rootInfo, oldfsset, instPath):
"/etc/fstab on your Linux system cannot be mounted. "
"Please fix this problem and try to upgrade again."))
sys.exit(0)
+ except RuntimeError, msg:
+ intf.messageWindow(_("Mount failed"),
+ _("One or more of the filesystems listed in the "
+ "/etc/fstab of your Linux system are inconsistent and "
+ "cannot be mounted. Please fix this problem and try to "
+ "upgrade again."))
+ sys.exit(0)
checkLinks = [ '/etc', '/var', '/var/lib', '/var/lib/rpm',
'/boot', '/tmp', '/var/tmp' ]