On Feb 07, 2008 22:51 -0700, Neil Perrin wrote: > > It seems to me that the usefulness of extended attributes is to > > efficiently store small amounts of information associated with a file, > > and I think these would make more sense to be in the dnode (possibly > > making it 1K by default) or in a single external object if it doesn't > > fit into the dnode. > > I believe when a prototype using 1K dnodes was tested it showed an > unacceptable (30%?) hit on some benchmarks. So if can possibly > avoid increasing the dnode size (by default) then we should do so.
That is definitely true, but in other uses this can be a major performace improvement for applications like Samba that use a bunch of attributes: http://lwn.net/Articles/112571/ http://samba.org/~tridge/xattr_results/ext3-tuning.png The "default" case in the ext3-tuning.png graph is similar to what is in ZFS today (though actually still more light weight because the EAs are only 1 hop from the inode instead of 5 like ZFS today). Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc.