Re: [fuse-devel] Feature proposal - FS-Cache support in FUSE

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

 






On Thu, Sep 11, 2014 at 3:26 AM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
On Wed, Sep 10, 2014 at 6:14 PM, Anand Avati <avati@xxxxxxxxxxx> wrote:

>
> This is something beyond the libfuse API. Unless the kernel/user ABI is
> modified to present the entire 128bits with each call (i.e, both nodeID +
> generation instead of just nodeID) we are still bound to provide unique
> 64bit nodeID (and persistent for anything living across umount/mount).

We have nodeID + generation on the kernel ABI as well.  NoreID values
of 0 and 1 are reserved.  The rest of the 128bit space is available.

We only have nodeID+generation in call replies when introducing a new inode (create, lookup, mkdir etc.) What if we have two inodes with different 128-bit IDs but happen to have the same upper or lower 64bits (i.e nodeIDs match, generations mismatch). First, we will have to make functions like fuse_iget start using the combination of nodeID+generation as the "key" of the search (currently it uses just nodeID as the key and generation is verified in the result - somewhat easy fix), and then we will have to present nodeID+generation as the FH for all the file operations (like open, read, setattr, getxattr) etc. Today only nodeID is sent in these file ops. This was the change I was referring to as "kernel ABI".

Thanks

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux