[PATCH 6/6] Add filesystem cleanup to anaconda

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 anaconda |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/anaconda b/anaconda
index f21ed47..069e867 100755
--- a/anaconda
+++ b/anaconda
@@ -807,14 +807,31 @@ if __name__ == "__main__":
     try:
         anaconda.dispatch.run()
     except SystemExit, code:
-        anaconda.intf.shutdown()
-
         if "nokill" in flags.cmdline:
+            anaconda.intf.shutdown()
             isys.vtActivate(1)
             print "anaconda halting due to nokill flag."
             print "The system will be rebooted when you press Ctrl-Alt-Delete."
             while True:
                 time.sleep(10000)
+    finally:
+        # Make sure we let go of logs inside /mnt/sysimage
+        logging.shutdown()
+
+        from pyanaconda.baseudev import udev_trigger, udev_settle
+        udev_trigger()
+        udev_settle()
+
+        anaconda.storage.umountFilesystems()
+        anaconda.storage.devicetree.teardownAll()
+        for name in anaconda.storage.devicetree.diskImages.keys():
+            device = anaconda.storage.devicetree.getDeviceByName(name)
+            if device:
+                device.deactivate(recursive=True)
+            else:
+                print "No device found for (%s)" % (name,)
+        anaconda.intf.shutdown()
+        os.system("udevadm control --env=ANACONDA=0")
 
     if anaconda.ksdata:
         from pykickstart.constants import KS_SHUTDOWN, KS_WAIT, KS_REBOOT
-- 
1.7.4.4

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux