xfs: free cowblocks and retry on buffered write ENOSPC
XFS runs an eofblocks reclaim scan before returning an ENOSPC error to userspace for buffered writes. This facilitates aggressive speculative preallocation without causing user visible side effects such as premature ENOSPC. Run a cowblocks scan in the same situation to reclaim lingering COW fork preallocation throughout the filesystem. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
3e88a0078b
commit
cf2cb7845d
|
@ -660,6 +660,7 @@ write_retry:
|
||||||
xfs_iunlock(ip, iolock);
|
xfs_iunlock(ip, iolock);
|
||||||
eofb.eof_flags = XFS_EOF_FLAGS_SYNC;
|
eofb.eof_flags = XFS_EOF_FLAGS_SYNC;
|
||||||
xfs_icache_free_eofblocks(ip->i_mount, &eofb);
|
xfs_icache_free_eofblocks(ip->i_mount, &eofb);
|
||||||
|
xfs_icache_free_cowblocks(ip->i_mount, &eofb);
|
||||||
goto write_retry;
|
goto write_retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue