This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated ff9a28f xfs: Fix WARN_ON(delalloc) in xfs_vm_releasepage() 19cb7e3 xfs: xfs_iomap_prealloc_size() tracepoint 76a4202 xfs: add quota-driven speculative preallocation throttling b136645 xfs: xfs_dquot prealloc throttling watermarks and low free space 4b6eae2e xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of xfs_disk_dquot_t c9bdbdc xfs: push rounddown_pow_of_two() to after prealloc throttle 3c58b5f xfs: reorganize xfs_iomap_prealloc_size to remove indentation from 56cea2d088811b8cf7d2893e29bcf369a912de69 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ff9a28f6c25d18a635abcab1f49db68108203dfb Author: Jan Kara <jack@xxxxxxx> Date: Thu Mar 14 14:30:54 2013 +0100 xfs: Fix WARN_ON(delalloc) in xfs_vm_releasepage() When a dirty page is truncated from a file but reclaim gets to it before truncate_inode_pages(), we hit WARN_ON(delalloc) in xfs_vm_releasepage(). This is because reclaim tries to write the page, xfs_vm_writepage() just bails out (leaving page clean) and thus reclaim thinks it can continue and calls xfs_vm_releasepage() on page with dirty buffers. Fix the issue by redirtying the page in xfs_vm_writepage(). This makes reclaim stop reclaiming the page and also logically it keeps page in a more consistent state where page with dirty buffers has PageDirty set. Signed-off-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 19cb7e3854c9afe2ee968cbdd92293ec09e43bf3 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:48 2013 -0400 xfs: xfs_iomap_prealloc_size() tracepoint Add a tracepoint to provide some feedback on preallocation size calculation. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 76a4202a388690e664668c4f668ee12d709100b3 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:47 2013 -0400 xfs: add quota-driven speculative preallocation throttling Introduce the need_throttle() and calc_throttle() functions to independently check whether throttling is required for a particular dquot and if so, calculate the associated throttling metrics based on the state of the quota. We use the same general algorithm to calculate the throttle shift as for global free space with the exception of using three stages rather than five. Update xfs_iomap_prealloc_size() to use the smallest available prealloc size based on each of the constraints and apply the maximum shift to obtain the throttled preallocation size. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit b136645116e5471cf0b037a1759dc83620236631 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:46 2013 -0400 xfs: xfs_dquot prealloc throttling watermarks and low free space Enable tracking of high and low watermarks for preallocation throttling of files under quota restrictions. These values are calculated when the quota limit is read from disk or modified and cached for later use by the throttling algorithm. The high watermark specifies when preallocation is disabled, the low watermark specifies when throttling is enabled and the low free space data structure contains precalculated low free space limits to serve as input to determine the level of throttling required. Note that the low free space data structure is based on the existing global low free space data structure with the exception of using three stages (5%, 3% and 1%) rather than five to reduce the impact of xfs_dquot memory overhead. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 4b6eae2e6ac8a6671839ccaea1c2e3dd5684f5df Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:45 2013 -0400 xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of xfs_disk_dquot_t Modify xfs_qm_adjust_dqlimits() to take the xfs_dquot as a parameter instead of just the xfs_disk_dquot_t so we can update in-memory fields if necessary. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit c9bdbdc0741d90908f492415c890b630f43f17f8 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:44 2013 -0400 xfs: push rounddown_pow_of_two() to after prealloc throttle The round down occurs towards the beginning of the function. Push it down after throttling has occurred. This is to support adding further transformations to 'alloc_blocks' that might not preserve power-of-two alignment (and thus could lead to rounding down multiple times). Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Ben Myers <bpm@xxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 3c58b5f809eda8ae8d891b7a87d0a235ab0f9bf5 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Mar 18 10:51:43 2013 -0400 xfs: reorganize xfs_iomap_prealloc_size to remove indentation The majority of xfs_iomap_prealloc_size() executes within the check for lack of default I/O size. Reverse the logic to remove the extra indentation. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Ben Myers <bpm@xxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 12 ++-- 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 +-- 9 files changed, 230 insertions(+), 54 deletions(-) hooks/post-receive -- XFS development tree _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs