[Lustre-discuss] Client directory entry caching

Alexey Lyashkov alexey.lyashkov at clusterstor.com
Thu Aug 5 00:46:53 PDT 2010


That very trivial patch.
2.0 use CR mode to avoid extra lock cancel with xattr upate,
1.8 use EX mode to any xattr updates.
but real world must use both modes :-) because client got ACL (part of xattr) with any getattr / open RPC, 
so MDS MUST cancel that lock with any conflicted updates (because ACL used on VFS permission checks).
currently that "fixed" via extra RPC from revalidate_dentry call.

in other words, need changes in mds to use
mode CR with UPDATE bits for xattr changes,
mode EX with lookup + update bits for ACL updates.

other bugs in that area - client always show LOV EA in xattr list and send extra RPC to MDS to get LOV EA from the disk, but
that can be easily generated on client (via obd_pack_md function) because client always has LOV EA locally.
That will save 2 RPC in some cases (first to get LOV EA size, second to get LOV EA).

On Aug 4, 2010, at 23:59, Andreas Dilger wrote:

> On 2010-08-04, at 01:57, Alexey Lyashkov wrote:
>> 22492 is exist because someone from Sun/Oracle is disable dentry caching, instead of fixing xattr code for 1.8<>2.0 interoperable.
>> He is kill my patch in revalidate dentry (instead of fixing xattr code).
>> in that case client always send one more RPC to server.
>> see bug 17545 for some details.
> 
> Patches to "fix xattr interoperability" are welcome.
> 
> Cheers, Andreas
> --
> Andreas Dilger
> Lustre Technical Lead
> Oracle Corporation Canada Inc.
> 




More information about the lustre-discuss mailing list