How to avoid sshfs freezing

mountsshsshfs

So the issue is this:

I've installed sshfs on Ubuntu 12.04 and I'm trying to connect to a couple of remote servers.
So initially the mount seems successful. Sometimes Gnome even picks it up and displays the "new device found" box at the bottom of the screen. but from here on there is not much that works. Or at least not any more. The first couple of times i connected it seemed to work fine, and I was able to transfer some files, then i disconnected using fusermount -u <folder> and after reconnecting a little later the trouble started. Now after executing sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, when I change directory into the mount-point, the shell just freezes. Strangely ls -al <folder> works when listing just the root of the remote system, but nothing more. Also every file-explorer I've tried freezes just like cd <folder>.

To me it seemed like there was some kind of zombie thread or something hanging around my system, due to the fact that it did work the first time, so I have tried rebooting but no luck.

sshfs -V gives this:

SSHFS version 2.3
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

So yea, any ideas?

Best Answer

If you started sshfs with -o reconnect, killing it's hanging SSH process will make it reconnect.

First find the matching SSH, for example:

ps -ef
...
user 9644 1 0 11:15 ? 00:00:00 ssh -x -a -oClearAllForwardings=yes -2 <host> -s sftp
...

The you can tell it apart by the distinctive set of options and the host you were connecting sshfs to. Then kill it, regular SIGTERM should be enough:

kill 9644

This should make SSHFS start a new SSH session and the mounted filesystem will become responsive again and all processes hanging on it will continue as if nothing happened.

Related Question