On Tue, Oct 16, 2007 at 10:47:30AM -0400, Chris Mason wrote: > On Tue, 2007-10-16 at 10:26 -0400, Josef Bacik wrote: > > Hello, > > > > Now that I actually understand whats going on with the generic xattr > > handling > > stuff, I've rethought how to do xattrs. Currently each individual xattr > > for a > > particular inode has its own item, or if its too large its own inode. So > > if I > > create file blah and then add "security.mysec", "user.stuff", > > "trusted.whatever" > > to blah, there will be 3 dir_item's, one for each xattr. I was trying to > > figure > > out why ext3 wasn't storing the prefix on disk with the xattr and I figured > > it > > out, it has its own little object for holding xattrs for the inode. So > > instead > > of having 3 different locations for its xattrs, it has one big chunk that it > > uses for its xattrs. So this is what I was thinking of doing, having a > > xattr > > disk structure that holds the name, the index (for looking up the > > prefix/handler), and the value. Then we only use one dir_item per inode for > > xattrs, and just pack in new entries as they come along, and then once we > > outgrow the dir_item just move it all into an inode. Let me know what you > > guys > > think about this. Thank you, > > For the common case where we have a really small number of xattrs on an > inode, I doubt it makes a huge difference either way. The dir items > should be cheap enough that you can create one dir item per xattr > without much pain, and I prefer that approach over one blob. > > The problem with the blob is that the performance of the xattrs as a > whole is dependent on your largest xattr. With the one dir item per > xattr, the btree takes care of all of that nonsense for you. >
Awesome works for me /me breathes a sigh of relief :) Josef _______________________________________________ Btrfs-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/btrfs-devel
