Girish Shilamkar wrote:
> Hi,
>       With reference to my previous mail ([zfs-code] Nvpair for storing EAs
> in dnode) which had expressed our intent to use libnvpair for EAs in
> dnode. I am now sending a high level design document for the same.
> 
> Any suggestions/comments are most welcome.
> 
> Thanks & Regards,
> Girish
> 
> 


General comment:

I'm not sure we should be using nvlists to store these attributes. 
While it will be quick to implement, I'm concerned about the constant 
packing/unpacking and searching linked lists in the nvlist code.  As 
part of this effort I would like to refactor the znode_phys to only 
include what I believe to be the core attributes that must be in the 
znode_phys.  Then all of the secondary attributes that aren't needed all 
of the time can use the new EA mechanisms that Lustre and others desire. 
  We will need to rev the ZPL version to 4.  By refactoring the znode we 
will recover a lot of the bonus space that is in short supply today.

Section 2.2.4

Not sure what you mean by storing all xattrs in a single object? Are you 
saying all of the Lustre attributes would be stored in a single Solaris 
extended attribute file?

Section 2.2.5

This section is not needed.  Solaris already has interfaces and 
frameworks in place to expose additional attributes to applications. 
Any attribute that lustre wants to retrieve/set can be retrieved with 
VOP_GETATTR()/VOP_SETATTR() via the xvattr_t.  From an application those 
attributes can be manipulated with getattrat()/setattrat().

   -Mark

Reply via email to