I'll have to come back and respond to your other reviews in depth later
when I have a little more time, but I think responding to this one
quickly will help answer a lot of questions. The set actually has a lot
more history as a delayed attributes series, and even more as parent
pointers. I try to keep the whole set up to date because parent
pointers is sort of a good test case for the rest it. And also because
I want to make sure things still work for the future uses they are
intended for.
To give you an idea, this is the same series + delayed attrs + parent pptrs:
https://github.com/allisonhenderson/xfs_work/tree/pptrs_restart41
I usually just send out the "delay ready" portion of it just to cut down
on the amount of code that people have to review (because I know people
are swamped with review backlog). And also because some time ago, folks
felt that trying to push it in all at once was a little unwieldy, so
they requested that I chop it down to this sub series that focuses on
refactor only with no functional change. And then that would give it
time to stabilize before proceeding too.
I hope the history of it helps a bit. Otherwise I can see where it
looks like a whole bunch of craziness for nothing, but that's the long
term plan for it. And while I think people agree that it's not the
prettiest at the moment, the function that we are trying to achieve with
it isn't simplest either, so people have been pretty active in shaping
it as it goes along. I'll go through your set and see which bits I can
pick up and sort of integrate so that we don't have so much conflict.
Thanks!
Allison
On 12/24/19 5:30 AM, Christoph Hellwig wrote:
This code looks pretty scary, mostly because it adds hard to parse
monster functions. Also as-is it seems totally pointless as no
user of the change appears. In fact this series adds almost 500
lines of code without adding any code or speeding operations up (in
fact I think it will cause minor slow downs). So to me it is a very
hard sell.