Andreas Dilger wrote: > 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
Interesting data. So I hope we can come up with a solution that works well with both a few and a lot of attributes. Maybe Matt's proposal would get us there? Neil.