On Wed, Nov 29, 2023 at 11:34:41PM -0800, Christoph Hellwig wrote: > On Tue, Nov 28, 2023 at 12:26:34PM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > > > If recovery finds an xattr log intent item calling for the removal of an > > attribute and the file doesn't even have an attr fork, we know that the > > removal is trivially complete. However, we can't just exit the recovery > > function without doing something about the recovered log intent item -- > > it's still on the AIL, and not logging an attrd item means it stays > > there forever. > > > > This has likely not been seen in practice because few people use LARP > > and the runtime code won't log the attri for a no-attrfork removexattr > > operation. But let's fix this anyway. > > > > Also we shouldn't really be testing the attr fork presence until we've > > taken the ILOCK, though this doesn't matter much in recovery, which is > > single threaded. > > > > Fixes: fdaf1bb3cafc ("xfs: ATTR_REPLACE algorithm with LARP enabled needs rework") > > No useful comment here as the attr logging code is new to me, but what > is the LARP mode? I see plenty of references to it in commit logs, > a small amount in the code mostly related to error injection, but it > would be really good to expand the acronym somehwere as I can't find > any explanation in the code or commit logs.. LARP == Logged extended Attributes via Replay Persistence (IOWs, a silly developer acronym for writing attr log intent items.) --D