[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[PATCH] 473260 - unmount swap files on upgrades
- From: Chris Lumens <clumens redhat com>
- To: anaconda-devel-list redhat com
- Subject: [PATCH] 473260 - unmount swap files on upgrades
- Date: Fri, 5 Dec 2008 17:59:44 -0500
The above referenced bug seems to be a really big deal on F10 upgrades.
The problem is that swap files never get unmounted, so the filesystems
they reside on never get unmounted, so migrateFilesystems fails. The
attached patch corrects this by adding support to just unmount swap
files. If we come to some sort of agreement on this patch, I'm in favor
of including it in an updates.img.
- Chris
diff --git a/fsset.py b/fsset.py
index a4b3cd4..d425a48 100644
--- a/fsset.py
+++ b/fsset.py
@@ -839,8 +839,19 @@ class swapFileSystem(FileSystemType):
isys.swapon (device)
def umount(self, device, path):
- # unfortunately, turning off swap is bad.
- raise RuntimeError, "unable to turn off swap"
+ # Turning off swap devices is bad, but we can get away with turning
+ # off swap files.
+ if device.device.startswith("/dev/"):
+ raise RuntimeError, "unable to turn off swap"
+
+ # path is something stupid like instPath+"swap", which is totally
+ # useless. But we don't have instPath anywhere else so trim off
+ # the end of path.
+ swapFile = path[:path.rfind("/")] + device.device
+
+ iutil.execWithRedirect("swapoff", [swapFile],
+ stdout="/dev/tty5", stderr="/dev/tty5",
+ searchPath=1)
def formatDevice(self, entry, progress, chroot='/'):
file = entry.device.setupDevice(chroot)
@@ -2103,7 +2114,10 @@ MAILADDR root
reverse.reverse()
for entry in reverse:
- if entry.mountpoint == "swap" and not swapoff:
+ # Always unmount swap files, or we won't be able to unmount the
+ # device they reside on.
+ if entry.mountpoint == "swap" and not swapoff and \
+ entry.device.device.startswith("/dev/"):
continue
entry.umount(instPath)
entry.device.cleanupDevice(instPath)
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]