libfuse / sshfs

A network filesystem client to connect to SSH servers
GNU General Public License v2.0
5.93k stars 496 forks source link

pathconf("somefile", _PC_LINK_MAX) returns 127 with disable_hardlink mount option set #263

Closed olifre closed 2 years ago

olifre commented 3 years ago

Mounting an SSHFS filesystem with disable_hardlink and then checking e.g.:

pathconf(".Xauthority", _PC_LINK_MAX);

(with .Xauthority being an existing file) returns 127 instead of 1 as would be expected for disabled hardlink support.

This causes e.g. libXau and thus xauth to fail, since it assumes hardlinking to work on the FS by performing this call, and then breaks since link fails: https://gitlab.freedesktop.org/xorg/lib/libxau/-/blob/master/AuLock.c

Nikratio commented 3 years ago

Thanks for taking the time to report this issue!

Unfortunately, this project does not currently have any active, regular contributors. As the maintainer, I try to review pull requests and make regular releases, but unfortunately I have no capacity to do significant development beyond that. Issue reports that do not come with a pull request or clearly have high impact on a large number of users are therefore likely to languish.

I understand that this is frustrating for users, but I hope you can also understand that any development work that I do on this project has to compete with spending time with my family, doing work that I get paid for, doing something recreational without a computer, or working on features/bugs that affect me personally. Most bugs and ideas - unfortunately including this one - loose out in this competition.

In other words, unless you plan to work on this yourself or can recruit someone who will, it's unlikely that anyone is going to do anything about it anytime soon.

This is just to calibrate expectations. I am grateful that you took the time and effort to report this! I'll leave this issue open to document the problem and who knows, maybe someone will pick it up after all :-).

olifre commented 2 years ago

I'll leave this issue open to document the problem and who knows, maybe someone will pick it up after all :-).

Just checking in to ask why the issue was closed — is this a stale-bot like closure, or is the issue actually fixed? I personally prefer keeping existing / unfixed issues open, even in case this might mean some pile-up, to calibrate expectations of new users looking at the project, and prevent double-reporting in case somebody hits the same issue, but of course that's opinionated ;-).

In any case, it would be nice to have some comment on the issue explaining why it was closed — in case someone stumbles upon this in the future, it allows to understand the actual state.