Re: [fuse-devel] Proxmox + NFS w/ exported FUSE = EIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2/28/24 14:06, Miklos Szeredi wrote:
> On Sun, 25 Feb 2024 at 21:58, Antonio SJ Musumeci <trapexit@xxxxxxxxxx> wrote:
> 
>> I've resolved the issue and I believe I know why I couldn't reproduce
>> with current libfuse examples. The fact root node has a generation of 0
>> is implicit in the examples and as a result when the request came in the
>> lookup on ".." of a child node to root it would return 0. However, in my
>> server I start the generation value of everything at different non-zero
>> value per instance of the server as at one point I read that ensuring
>> different nodeid + gen pairs for different filesystems was better/needed
>> for NFS support. I'm guessing the increase in reports I've had was
>> happenstance of people upgrading to kernels past 5.14.
>>
>> In retrospect it makes sense that the nodeid and gen are assumed to be 1
>> and 0 respectively, and don't change, but due to the symptoms I had it
>> wasn't clicking till I saw the stale check.
>>
>> Not sure if there is any changes to the kernel code that would make
>> sense. A log entry indicating root was tagged as bad and why would have
>> helped but not sure it needs more than a note in some docs. Which I'll
>> likely add to libfuse.
>>
>> Thanks for everyone's help. Sorry for the goose chase.
> 
> Looking deeper this turned out to be a regression, introduced in v5.14
> by commit 15db16837a35 ("fuse: fix illegal access to inode with reused
> nodeid").  Prior to this commit the generation number would be ignored
> and things would work fine.
> 
> The attached patch reverts this behavior for the root inode (which
> wasn't intended, since the generation number is not supplied by the
> server), but with an added warn_on_once() so this doesn't remain
> hidden in the future.

Could you still apply your previous patch? I think that definitely makes
sense as well.

I think what we also need is notification message from kernel to server
that it does something wrong - instead of going to kernel logs, such
messages should go to server side logs.


Thanks,
Bernd




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux