Skip to content

NFS export over FUSE mount folder problems (3.X version affected) #341

@ggoodgguy

Description

@ggoodgguy

Hello all,
I'm facing problems with sshfs mount in my scenario.
I am mounting AS400 folder with sshfs (I tried version that is available on EPEL repository - fuse-sshfs-3.7.3-1.el9.x86_64).
Then this folder is exported for NFS mount which is at the end mounted on AiX server (and then aix handles files on that AS400... we can't mount that directly so that is why we need to use fuse)
AS400 server ←(sshfs)− Rocky Linux 9.7 ←(NFS export)− AIX

Everything is working with 2.9.9-17.el9 version. We would like to use 3.7.X version if possible.

I'm using sshfs command in service with command:
ExecStart=/usr/bin/sshfs -f -o BatchMode=yes -o StrictHostKeyChecking=no -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

NFS export file:
/SITESssh 10.100.110.100(sync,no_wdelay,no_subtree_check,fsid=15,sec=sys,rw,insecure,no_root_squash,no_all_squash)

On AiX nfs is mounted via:
mount -o rw,hard,intr 10.100.100.100:/SITESssh /SITES

Everything works for few seconds and then dies with bellow output (probably when AiX reads or does first action on files).
Is there any major differences between 3.X and 2.X versions that is causing this to fail? Am I missing something in my configuration.
If I forget something please let me know ;).
Thanks!

sshfs[1077]: sshfs: ../cache.c:367: cache_readdir: Assertion `offset == 0' failed.
systemd-coredump[2531]: [🡕] Process 1077 (sshfs) of user 0 dumped core.

 Stack trace of thread 2345:
 #0  0x00007fc9c288d02c __pthread_kill_implementation (libc.so.6 + 0x8d02c)
 #1  0x00007fc9c283fb86 raise (libc.so.6 + 0x3fb86)
 #2  0x00007fc9c2829873 abort (libc.so.6 + 0x29873)
 #3  0x00007fc9c282979b __assert_fail_base.cold (libc.so.6 + 0x2979b)
 #4  0x00007fc9c28388c6 __assert_fail (libc.so.6 + 0x388c6)
 #5  0x00005630fe66f90b cache_readdir (sshfs + 0xe90b)
 #6  0x00007fc9c2b6d935 fuse_readdir_common (libfuse3.so.3 + 0x15935)
 #7  0x00007fc9c2b6a5d1 do_readdirplus.lto_priv.0 (libfuse3.so.3 + 0x125d1)
 #8  0x00007fc9c2b76f5f fuse_session_process_buf_int (libfuse3.so.3 + 0x1ef5f)
 #9  0x00007fc9c2b6f497 fuse_do_work (libfuse3.so.3 + 0x17497)
 #10 0x00007fc9c288b2ea start_thread (libc.so.6 + 0x8b2ea)
 #11 0x00007fc9c29103c0 __clone3 (libc.so.6 + 0x1103c0)

 Stack trace of thread 1077:
 #0  0x00007fc9c288837a __futex_abstimed_wait_common (libc.so.6 + 0x8837a)
 #1  0x00007fc9c2893328 __new_sem_wait_slow64.constprop.0 (libc.so.6 +  x93328)
 #2  0x00007fc9c2b67c80 fuse_session_loop_mt_32 (libfuse3.so.3 + 0xfc80)
 #3  0x00007fc9c2b67d72 fuse_loop_mt (libfuse3.so.3 + 0xfd72)
 #4  0x00007fc9c2b67dcb fuse_loop_mt (libfuse3.so.3 + 0xfdcb)
 #5  0x00005630fe666a99 main (sshfs + 0x5a99)
 #6  0x00007fc9c282a610 __libc_start_call_main (libc.so.6 + 0x2a610)
 #7  0x00007fc9c282a6c0 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a6c0)
 #8  0x00005630fe667445 _start (sshfs + 0x6445)

Stack trace of thread 2346:
#0  0x00007fc9c28ff0ac read (libc.so.6 + 0xff0ac)
#1  0x00005630fe669cee do_read.isra.0 (sshfs + 0x8cee)
#2  0x00005630fe66a7a7 sftp_read.constprop.0 (sshfs + 0x97a7)
#3  0x00005630fe66a8cd process_requests (sshfs + 0x98cd)
#4  0x00007fc9c288b2ea start_thread (libc.so.6 + 0x8b2ea)
#5  0x00007fc9c29103c0 __clone3 (libc.so.6 + 0x1103c0)

Stack trace of thread 2344:
#0  0x00007fc9c28ff0ac read (libc.so.6 + 0xff0ac)
#1  0x00007fc9c2b72bd2 fuse_session_receive_buf_int (libfuse3.so.3 + 0x1abd2)
#2  0x00007fc9c2b6f424 fuse_do_work (libfuse3.so.3 + 0x17424)
#3  0x00007fc9c288b2ea start_thread (libc.so.6 + 0x8b2ea)
#4  0x00007fc9c29103c0 __clone3 (libc.so.6 + 0x1103c0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions