Removed using lazy mode for umount

Safer for cloud-init to not use lazy mode for unmount
This commit is contained in:
Joseph Bajin 2014-08-23 14:04:00 -04:00
parent f71e050f44
commit d4f20c77ad

View File

@ -1294,16 +1294,12 @@ def ensure_dir(path, mode=None):
@contextlib.contextmanager
def unmounter(umount, lazy_support=True):
def unmounter(umount):
try:
yield umount
finally:
if umount:
# Do not use Lazy Mode on some systems (freebsd)
if lazy_support:
umount_cmd = ["umount", '-l', umount]
else:
umount_cmd = ["umount", umount]
umount_cmd = ["umount", umount]
subp(umount_cmd)
@ -1386,12 +1382,7 @@ def mount_cb(device, callback, data=None, rw=False, mtype=None, sync=True):
# Be nice and ensure it ends with a slash
if not mountpoint.endswith("/"):
mountpoint += "/"
# Set lazy_support to false if FreeBSD
if device.startswith("/dev/cd"):
lazy_support = False
else:
lazy_support = True
with unmounter(umount, lazy_support):
with unmounter(umount):
if data is None:
ret = callback(mountpoint)
else: