Hi all, Here is v5 of speculative prealloc. quota throttling. Sorry for the delay. This is mostly a rebase. I'm running some quick xfstests tests since we've moved onto 3.9-rc1 now, but the only real merge conflict was inheritance of the infinite loop alloc_blocks fix. Otherwise, this just includes some extra fixups to remove dependence on typedef's of various functions we happen to modify. Brian v5: - Rebased against current tree (3.9-rc1), incl. e78c420b. - Added Mark's reviewed-by's. - Removed use of typedef's in modified functions (affects patches 3 and 4). v4: - Drop patch 3/7 from v3 (xfs: cap prealloc size to free space before shift). - Several updates to patch 4/6: - Rename xfs_dquot_init_prealloc() to xfs_dquot_set_prealloc_limits(). - Unroll the prealloc threshold loop and remove the increment def. - Fix up some comments. v3: - Rebased on top of updated speculative preallocation algorithm. v2: - Fix up xfs_iomap_prealloc_size() rounding (patch 2). - Add pre-calculated fields to xfs_dquot to support throttling. - Move to logarithmic (shift) throttler and finer tuned trigger/throttle logic. Brian Foster (6): xfs: reorganize xfs_iomap_prealloc_size to remove indentation xfs: push rounddown_pow_of_two() to after prealloc throttle xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of xfs_disk_dquot_t xfs: xfs_dquot prealloc throttling watermarks and low free space xfs: add quota-driven speculative preallocation throttling xfs: xfs_iomap_prealloc_size() tracepoint fs/xfs/xfs_dquot.c | 48 ++++++++++++-- fs/xfs/xfs_dquot.h | 16 ++++- fs/xfs/xfs_iomap.c | 161 +++++++++++++++++++++++++++++++++++++--------- fs/xfs/xfs_qm.c | 2 +- fs/xfs/xfs_qm.h | 2 +- fs/xfs/xfs_qm_syscalls.c | 9 ++- fs/xfs/xfs_trace.h | 24 +++++++ fs/xfs/xfs_trans_dquot.c | 10 ++-- 8 files changed, 224 insertions(+), 48 deletions(-) -- 1.7.7.6 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs