4

I often use sshfs to mount a remote directory to make it appear as local:

sudo sshfs -o allow_other myname@server:/remote/path /mnt/remote/

Occasionally there could be interruption to the connection so /mnt/remote will appear as empty. If I try to re-run the above command, I'd get

'/mnt/remote:' Transport endpoint is not connected'

However I'm unable to (force) unmount the directory either:

sudo umount (-f) /mnt/remote
umount: /mnt/remote: target is busy

I'm wondering what can I do to re-mount the directory without rebooting my machine?

1
  • 1
    I tried adding the flags -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 in sshfs but doesn't work.
    – matohak
    Commented Nov 14, 2019 at 20:26

2 Answers 2

7

sudo umount -l /mnt/remote seems to work.

Got this answer from a friend. -l stands for lazy and I wouldn't have guessed the solution by myself.

1
  • So weird that this works and -f does not
    – pormulsys
    Commented Apr 19, 2023 at 12:03
0

You should find out which process is keeping the mountpoint busy. For example this:

lsof /mnt/remote

will list those processes (there could be many).

You then end them (normal close, or kill as shutdown would do) and try to unmount again sudo fusermount -u /mnt/remote)

2
  • 2
    with sudo lsof /mnt/remote, I'm only getting lsof: WARNING: can't stat() fuse.sshfs file system /mnt/remote Output information may be incomplete. lsof: status error on /mnt/rescomp: Transport endpoint is not connected which doesn't appear to be showing any processes.
    – matohak
    Commented Nov 14, 2019 at 17:45
  • This means that your sshfs is not connecting to anything. So since you are not connected to anything there cannot be any processes acting upon that connection. Reboot and I believe the problem will solve itself.
    – A Feldman
    Commented Dec 1, 2023 at 17:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .