On Thu, Jan 14, 2021 at 01:54:53PM -0800, Darrick J. Wong wrote:
On Wed, Jan 13, 2021 at 03:43:57PM +0100, Christoph Hellwig wrote:
quoted
On Mon, Jan 11, 2021 at 03:22:52PM -0800, Darrick J. Wong wrote:
quoted
From: Darrick J. Wong <djwong@kernel.org>
Don't stall the cowblocks scan on a locked inode if we possibly can.
We'd much rather the background scanner keep moving.
Wouldn't it make more sense to move the logic to ignore the -EAGAIN
for not-sync calls into xfs_inode_walk_ag?
I'm not sure what you're asking here? _free_cowblocks only returns
EAGAIN for sync calls. Locking failure for a not-sync call results in a
return 0, which means that _walk_ag just moves on to the next inode.
What I mean is:
- always return -EAGAIN when taking the locks fails
- don't exit early on -EAGAIN in xfs_inode_walk at least for sync
calls, although thinking loud I see no good reason to exit early
even for non-sync invocations