[PATCH v4 1/6] xfs: reorganize xfs_iomap_prealloc_size to remove indentation

Mark Tinguely tinguely at sgi.com
Fri Feb 22 11:07:46 CST 2013


On 02/20/13 09:10, Brian Foster wrote:
> 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 at redhat.com>
> Reviewed-by: Dave Chinner<dchinner at redhat.com>
> Reviewed-by: Ben Myers<bpm at sgi.com>
> ---
>   fs/xfs/xfs_iomap.c |   63 ++++++++++++++++++++++++++-------------------------
>   1 files changed, 32 insertions(+), 31 deletions(-)
>
> diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
> index 912d83d..d914419 100644
> --- a/fs/xfs/xfs_iomap.c
> +++ b/fs/xfs/xfs_iomap.c
> @@ -381,42 +381,43 @@ xfs_iomap_prealloc_size(
>   	int			nimaps)
>   {
>   	xfs_fsblock_t		alloc_blocks = 0;
> +	int			shift = 0;
> +	int64_t			freesp;

...

> +	freesp = mp->m_sb.sb_fdblocks;

...

> +	/*
> +	 * If we are still trying to allocate more space than is
> +	 * available, squash the prealloc hard. This can happen if we
> +	 * have a large file on a small filesystem and the above
> +	 * lowspace thresholds are smaller than MAXEXTLEN.
> +	 */
> +	while (alloc_blocks>= freesp)
> +		alloc_blocks>>= 4;


Hi Brian, I am looking at your speculative preallocation quota 
throttling series.

I know this code is from commit 4d559a3b. would this not be bad of 
freesp == 0?

--Mark.



More information about the xfs mailing list