tech-kern archive

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

Re: [PATCH] PUFFS with cache TTL from filesystem



hi,

> Hi
> 
> I am ready to commit the following changes, which enable our FUSE
> emulation to take advantage of name and attribute caching, with 
> TTL given by the filesystem. It makes performances much better
> while prseerving the ability to run a distributed filesystem:
> http://ftp.espci.fr/shadow/manu/kernel2.patch
> http://ftp.espci.fr/shadow/manu/libpuffs2.patch
> http://ftp.espci.fr/shadow/manu/libperfuse2.patch
> 
> The code seems to work fine according to my test cases, I just 
> have one concern about isdot case  puffs_vnop_lookup(). I wonder
> if the vput call is right, or if I should drop a reference. 
> cvp and ap->a_dvp should always be the same in that case, right?

it could be simpler to use cache_lookup_raw.  see nfs for an example.

some random comments:
- i feel that the api is too specific to the use of libperfuse.
        - it should not require puffs_node.
        - i think you mixed up at least two separate features.
          they ought to have separate flags.
                - DIROP's ability to return file attribute
                - attribute TTLs
- it would be better to allow file server choose if it returns attributes
  on DIROPs per-request basis rather than per-mount.  like nfsv3.
- as new functions returns a pointer, it's better to follow
  the existing naming convention.  ie. "p" of puffs_pn_getvap
- please handle ticks wraparounds.

YAMAMOTO Takashi

> 
> -- 
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index