Merge pull request #13282 from jcsp/wip-fuse-mount-teardown

tasks/cephfs: tear down on mount() failure

Reviewed-by: Yan, Zheng <zyan@redhat.com>
This commit is contained in:
John Spray 2017-02-28 15:04:59 +00:00 committed by GitHub
commit 39204abeda

View File

@ -23,6 +23,18 @@ class FuseMount(CephFSMount):
self._fuse_conn = None
def mount(self, mount_path=None, mount_fs_name=None):
try:
return self._mount(mount_path, mount_fs_name)
except RuntimeError:
# Catch exceptions by the mount() logic (i.e. not remote command
# failures) and ensure the mount is not left half-up.
# Otherwise we might leave a zombie mount point that causes
# anyone traversing cephtest/ to get hung up on.
log.warn("Trying to clean up after failed mount")
self.umount_wait(force=True)
raise
def _mount(self, mount_path, mount_fs_name):
log.info("Client client.%s config is %s" % (self.client_id, self.client_config))
daemon_signal = 'kill'