Mark Fasheh Wrote: > On Thu, Aug 07, 2008 at 06:31:33AM +0800, Tao Ma wrote: > >> Modification from V2 to V3: >> 1. Remove kmalloc+memcpy in set. >> 2. Remove xattr entry when we fails to find the enough space for outside >> storage. >> 3. Empty the whole block when creating new xattr bucket. >> 4. Limit xattr entry to be only in 1st block of the bucket and limit xattr >> name/value pair within the same block. >> 5. Limit the xattr tree leaf size to be 64K. >> > > Ok, this is looking good Tao. > > I think I figured out what xh_offset is. Basically, ea name/value pairs grow > from the end of the bucket forward, and you're just using it to mark the > 'top' of that stack so that insertion doesn't have to search the entire > bucket. You're relying on a (hopefully rare) defrag of the bucket to > eliminate holes created by ea removal. I guess we'll only have to worry > about defragging when the bucket is full. > yes, you are right. As for defragging, please see ocfs2_xattr_set_entry_index_block, when we found it is full, we will creat a new bucket and move half of the xattr to the new bucket. > Is this all correct? If so, there might be a more descriptive variable name > we can use... > so how about xh_store_end? Sorry for my poor English. Or maybe you can give me a good name. ;)
Regards, Tao _______________________________________________ Ocfs2-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/ocfs2-devel
