[PATCH v3 3/7] xfs: cap prealloc size to free space before shift
Brian Foster
bfoster at redhat.com
Tue Feb 19 10:37:27 CST 2013
With the addition of quota preallocation throttling, we want to
support a general algorithm that considers the maximum allowable
prealloc size and recommended shift modifier from various sources
(i.e., global fs state and all applicable quotas for an inode).
Update the current global free space throttle algorithm to cap the
preallocation size to the free space available in the filesystem.
Signed-off-by: Brian Foster <bfoster at redhat.com>
---
fs/xfs/xfs_iomap.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
index daa08f6..3b41c18 100644
--- a/fs/xfs/xfs_iomap.c
+++ b/fs/xfs/xfs_iomap.c
@@ -412,6 +412,9 @@ xfs_iomap_prealloc_size(
if (freesp < mp->m_low_space[XFS_LOWSP_1_PCNT])
shift++;
}
+ if (alloc_blocks > freesp)
+ alloc_blocks = freesp;
+
if (shift)
alloc_blocks >>= shift;
/*
--
1.7.7.6
More information about the xfs
mailing list