Re: cachefiles bug

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


On Wednesday 31 March 2010 16:03:03 David Howells wrote:
> Romain DEGEZ <romain.degez@xxxxxxxxxxxx> wrote:
> > So you think this is related to ext4 ?
> 
> No.  I'm fairly certain I've worked out what the problem is now.
> 
> What happens is that a cached NFS file is seen to have become out of date,
>  so NFS relinquishes the object and immediately acquires a new object with
>  the same key.
> 
> Unfortunately, retirement of the old object is done asynchronously, so the
> lookup/create to generate the new object may be done first.  However, the
>  old object and the new object must exist at the same point in the backing
>  filesystem (i.e. they must have the same pathname).
> 
> So the lookup for the new object sees that a backing file already exists,
> checks to see whether it is valid and sees that it isn't.  It then deletes
>  that file and creates a new one on disk.
> 
> Then the retirement for the old file happens.  It tries to delete the
>  dentry it has, but Ext4 complains because the inode attached to that
>  dentry no longer matches the inode number associated with the filename in
>  the parent directory.
> 
> The trace below shows this quite well.

[..snip..]

Indeed, your diagnostic looks coherent :-)
Thanks for this very neat explanation by the way.

The next question is... do you have an idea to cleanly fix this issue ? :-)

Regards,

-- 
RD

--
Linux-cachefs mailing list
Linux-cachefs@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/linux-cachefs

[Linux Resources]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

Powered by Linux