xfs: flush eof/cowblocks if we can't reserve quota for file blocks
authorDarrick J. Wong <djwong@kernel.org>
Sat, 23 Jan 2021 00:48:37 +0000 (16:48 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 3 Feb 2021 17:18:49 +0000 (09:18 -0800)
commit766aabd59929cd05fc1a249f376e4395bed93d30
tree3cabffa648981f616f71d42f39ea881723bf1fef
parent4ca74205685ee3a72ab7fe475f51cc26dea36509
xfs: flush eof/cowblocks if we can't reserve quota for file blocks

If a fs modification (data write, reflink, xattr set, fallocate, etc.)
is unable to reserve enough quota to handle the modification, try
clearing whatever space the filesystem might have been hanging onto in
the hopes of speeding up the filesystem.  The flushing behavior will
become particularly important when we add deferred inode inactivation
because that will increase the amount of space that isn't actively tied
to user data.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
fs/xfs/xfs_reflink.c
fs/xfs/xfs_trans.c