On Fri, May 11, 2018 at 05:24:48PM -0700, Darrick J. Wong wrote: > On Sat, May 12, 2018 at 08:50:58AM +1000, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > For the new growfs work, we want to ensure that we serialise > > secondary superblock updates with other operations (e.g. scrub) > > correctly, but we don't want to cache the buffers for long term > > reuse. We need cached buffers for serialisation, however. > > > > To solve this, introduce a "oneshot" buffer which will be marshalled > > through the cache but then released once the last current reference > > goes away. If the buffer is already cached, then we ignore the > > "one-shot" behaviour and leave the buffer in the state it was prior > > to the one-shot command being run. This means we don't perturb > > either the working set or existing cached buffer state by a one-shot > > operation. > > > > Signed-Off-By: Dave Chinner <dchinner@xxxxxxxxxx> > > Hmm, should the xfs_sb_read_secondary function in "xfs: superblock scrub > should use short-lived buffers" be calling this to set a zero lru_ref > instead of doing it directly? That's not yet merged, is it? I'm guessing that it all depends on what order everything gets merged - we can clean up all the loose ends once we get everything in? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html