'Get a locked mountpoint object
:param mountpoint: The path of the mountpoint whose object we should
return.
:rtype: _HostMountState._MountPoint'

@contextlib.contextmanager
def _get_locked(self, mountpoint):

    while True:
        mount = self.mountpoints[mountpoint]
        with mount.lock:
            if (self.mountpoints[mountpoint] is mount):
                (yield mount)
                break
