| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | [PATCH v3 3/7] xfs: cap prealloc size to free space before shift |
| From: | Brian Foster <bfoster@xxxxxxxxxx> |
| Date: | Tue, 19 Feb 2013 11:37:27 -0500 |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1361291851-24714-1-git-send-email-bfoster@xxxxxxxxxx> |
| References: | <1361291851-24714-1-git-send-email-bfoster@xxxxxxxxxx> |
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@xxxxxxxxxx>
---
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
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH v3 4/7] xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of xfs_disk_dquot_t, Brian Foster |
|---|---|
| Next by Date: | Re: [PATCH v3 2/3] xfsprogs: sync the changes in transaction log space reservations to user space, Mark Tinguely |
| Previous by Thread: | [PATCH v3 4/7] xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of xfs_disk_dquot_t, Brian Foster |
| Next by Thread: | Re: [PATCH v3 3/7] xfs: cap prealloc size to free space before shift, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |