How to avoid sshfs freezing?

24

6

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?

Andreas Hagen

Posted 2012-07-02T08:49:06.033

Reputation: 338

Answers

18

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.

Beli

Posted 2012-07-02T08:49:06.033

Reputation: 299

FYI: This solution looks very useful for improving the robustness of our sshfs connections in the first place: https://askubuntu.com/a/716618/327339. Also see #11 in the FAQ here: https://github.com/libfuse/sshfs/blob/master/FAQ

– Gabriel Staples – 2017-08-03T12:33:38.717

1

How long have you waited for the freeze to resolve? It might just been transmission issues between you and the server in question.

I use sshfs between my system and a friend's who lives in the boonies (offical term!), he's on a overland wireless which occasionally drops out (we think his receiver is waving in the wind, losing signal lock).

If I wait, it DOES eventually sync up and do things, but occasionally it'll just hang for a few minutes.

Patience GrassHopper!

lornix

Posted 2012-07-02T08:49:06.033

Reputation: 9 633

2I have tried waiting for some bit, maybe 10-20 minutes, but no luck. Maybe it just needs a couple of hours? ^^, – Andreas Hagen – 2012-07-03T09:17:14.137

One would hope not!! You might try logging in with sshfs -d' orsshfs -o LogLevel=Debug` (or 'Debug2') to turn on verbose mode... see if anything enlightening is printed. – lornix – 2012-07-03T10:55:35.917

0

This is an old post and I'm not giving an ultimate solution to this, but I think I was having the same issue (on Ubuntu 14.04) and in my case lazy unmounting and remounting works (although it's a bit annoying):

fusermount -u -z /local/folder
sshfs -C user@server:/remote/folder /local/folder

I suspect you were just looking at cached results with ls -al <folder>.

Jonathan H

Posted 2012-07-02T08:49:06.033

Reputation: 111