Russell Cattelan wrote:
On Wed, 2006-11-22 at 09:44 -0600, Eric Sandeen wrote:
Timothy Shimmin wrote:
My only question is, how much does this defeat the purpose of attr2?
I've been going thru the irc and just started looking at the patch.
I'll get back to you about it tomorrow.
I agree it would be good to have the fixed forkoff for data btree roots
as the first fix. And look into redoing the btree root for a later change.
Well from the standpoint that attr2 currently corrupts inodes anything
to prevent that is good, since currently attr2 can't be used at all.
When the di_u is extent based the attr2 code works as expected, giving
space to which ever segment gets there first.The attr2 code should still
be a big win for most file/dir inodes since they are probably able to do
their block mapping with local or extent mode.
yeah, that;s rpobqably true.
The number of inodes that get pushed to btree mode should be a small %
total number of inodes, especially on a root file system. So while attr2
not as efficient as it could be for that segment of the inodes the rest
do benefit from attr2
By fixing the initial size calculation at least things like SElinux
which is adding one attr won't cause the attr segment to flip to extents
The second attr will cause the flip but not the first one.
I'd say this part (fixing up proper space for the initial attr fork
setup) should probably go in soon if it gets good reviews (with the
removal of the extra tests, as we discussed on irc last night). I think
this proper change stands on its own just fine.
the rest of the patch... I'd rather not confuse the functional changes
with your rearrangement of return locations (the new gotos etc) but
that's just me.
I think the bytesfit() fixup is probably good too, with your short-term
addition of "if forkoff exists with btree data then it cannot move"