On Tue, Aug 21, 2018 at 06:56:45AM -0400, Brian Foster wrote: > On Tue, Aug 21, 2018 at 08:15:06AM +1000, Dave Chinner wrote: > > We should clear them on free now, so that we can draw a line in the > > sand for when we can have verifiers check it. e.g. when the next > > feature bit gets introduced, filesystems with that feature bit set > > can also verify the extent size hints are zero on freed inodes > > because we know that kernels supporting that feature always zero > > them on free.... > > > > That seems fine (and harmless) to me if the goal is ultimately to have > this content clear on-disk. It keeps things consistent for verifiers, > scrub, repair, etc. to not have some bits with required initialized > values and others where we need to accommodate stale data. *nod* One of my original goals for all the online repair work was to ensure that everything on disk was clean, sanitised and not ambiguous in any way. The verifiers are a mechanism that helps us identify things that aren't clean or sanitised, and working out how to verify those things identifies ambiguities we need to fix. Such as this one with freed inodes. As I said to Eric on #xfs: <dchinner_> We're well beyond the point where we trust a single field in an on-disk structure to be the One True Source of Truth <dchinner_> we want everything on disk to be correct and clean <dchinner_> so we can make decisions like this correctly via multi-field verifications -- Dave Chinner david@xxxxxxxxxxxxx