[PATCH v3 0/4] xfs: run eofblocks scan on ENOSPC
Brian Foster
bfoster at redhat.com
Tue Jun 3 09:49:34 CDT 2014
Hi all,
Here's v3 of the eofblocks scan on ENOSPC series. The primary change is
the insertion of patch 2, which implements a union inode filter for
eofblocks scans. This facilitates the EDQUOT handling in patch 3 to
cover multiple quotas with a single scan. Version 2 and associated
feedback is available here:
http://oss.sgi.com/archives/xfs/2014-05/msg00527.html
There was also some discussion about dropping the iolock in favor of
introducing the scan owner field, but it's not clear if that is totally
safe. FWIW, the scan owner field is kernel only, so can be removed and
replaced with smarter locking any time down the road. Thoughts, reviews,
flames appreciated.
Brian
v3:
- Removed NULLFSINO check in eofblocks scan owner logic, added ASSERT.
- Added union-based eofblocks scan filter patch and use in quota ENOSPC
scan.
v2:
- Drop flush mechanism during eofblocks scan (along with prereq patch).
- Simplify scan logic on ENOSPC. Separate EDQUOT from ENOSPC and tie
ENOSPC scan to inode flush.
- Eliminate unnecessary project quota handling from
xfs_inode_free_quota_eofblocks() (ENOSPC is a separate path).
Brian Foster (4):
xfs: add scan owner field to xfs_eofblocks
xfs: support a union-based filter for eofblocks scans
xfs: run an eofblocks scan on ENOSPC/EDQUOT
xfs: squash prealloc while over quota free space as well
fs/xfs/xfs_dquot.h | 15 +++++++++
fs/xfs/xfs_file.c | 23 ++++++++++---
fs/xfs/xfs_fs.h | 3 ++
fs/xfs/xfs_icache.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++--
fs/xfs/xfs_icache.h | 3 ++
fs/xfs/xfs_iomap.c | 20 +++++++----
6 files changed, 148 insertions(+), 12 deletions(-)
--
1.8.3.1
More information about the xfs
mailing list