public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] xfs: run eofblocks scan on ENOSPC
@ 2014-03-28 13:15 Brian Foster
  2014-03-28 13:15 ` [PATCH 1/5] xfs: do eofb filtering before dirty check Brian Foster
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Brian Foster @ 2014-03-28 13:15 UTC (permalink / raw)
  To: xfs

Hi all,

The purpose of this series is to help address the inefficient use of
preallocation for larger files on smaller filesystems. When the
filesystem is small, so is the 5% low free space threshold that enables
preallocation throttling. When the low free space threshold is reduced
to a couple GB or so, we can ram into ENOSPC prematurely due to larger,
active preallocations.

We resolve this condition with an eofblocks scan in the pre-existing
ENOSPC retry write sequence. The scan resets outstanding preallocations
such that throttling is guaranteed an opportunity to manage future
preallocations gracefully into ENOSPC and thus ensures closer to 100%
utilization before ENOSPC is reported to userspace.

Patches 1-3 make some small enhancements to the eofblocks scanner that
facilitate running a scan in the context of a write. Patch 4 adds the
actual scan-on-ENOSPC policy. Patch 5 updates the preallocation
throttling algorithm to take quota free space into account.

Thoughts, reviews, flames appreciated.

Brian

Brian Foster (5):
  xfs: do eofb filtering before dirty check
  xfs: add flush flag to xfs_eofblocks
  xfs: add scan owner field to xfs_eofblocks
  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   | 32 +++++++++++++++++--
 fs/xfs/xfs_fs.h     |  4 ++-
 fs/xfs/xfs_icache.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++------
 fs/xfs/xfs_icache.h |  3 ++
 fs/xfs/xfs_iomap.c  | 20 ++++++++----
 6 files changed, 145 insertions(+), 19 deletions(-)

-- 
1.8.3.1

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-04-03 22:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-28 13:15 [PATCH 0/5] xfs: run eofblocks scan on ENOSPC Brian Foster
2014-03-28 13:15 ` [PATCH 1/5] xfs: do eofb filtering before dirty check Brian Foster
2014-03-28 13:16 ` [PATCH 2/5] xfs: add flush flag to xfs_eofblocks Brian Foster
2014-03-31 21:47   ` Dave Chinner
2014-04-01 13:48     ` Brian Foster
2014-03-28 13:16 ` [PATCH 3/5] xfs: add scan owner field " Brian Foster
2014-03-28 13:16 ` [PATCH 4/5] xfs: run an eofblocks scan on ENOSPC/EDQUOT Brian Foster
2014-03-31 22:22   ` Dave Chinner
2014-04-01 13:55     ` Brian Foster
2014-04-01 21:19       ` Dave Chinner
2014-04-01 23:20         ` Brian Foster
2014-04-02  5:11           ` Dave Chinner
2014-04-02 20:11             ` Brian Foster
2014-04-03 22:18               ` Dave Chinner
2014-03-28 13:16 ` [PATCH 5/5] xfs: squash prealloc while over quota free space as well Brian Foster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox