On Wed, Jul 14, 2021 at 08:05:40AM +0100, Christoph Hellwig wrote: > On Wed, Jul 14, 2021 at 02:19:02PM +1000, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > This provides separation of mount time feature flags from runtime > > mount flags and mount option state. It also makes the feature > > checks use the same interface as the superblock features. i.e. we > > don't care if the feature is enabled by superblock flags or mount > > options, we just care if it's enabled or not. > > What about using a separate field for these? With this patch we've used > up all 64-bits in the features field, which isn't exactly the definition > of future proof.. I've used 16 mount option flags and 26 sb feature flags in this patch set, so there's still 22 feature flags remaining before we need to split them. This is all in-memory stuff so it's easy to modify in future. Given that the flag sets are largely set in only one place each and the check functions are all macro-ised, splitting them when we do run out of bits is trivial. I'm more interested in trying to keep the cache footprint of frequently accessed read-only data down to a minimum right now, which is why I aggregated them in the first place... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx