[PATCH V2] reduce bmv_count in xfs_vn_fiemap

Olaf Weber olaf at sgi.com
Thu Jul 16 10:18:40 CDT 2009


Eric Sandeen writes:

> commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused
> the full bmv_count's worth of getbmapx structures to get
> allocated; telling it to do MAXEXTNUM was a bit insane,
> resulting in ENOMEM every time.

> Chop it down to something reasonable, the number of slots
> in the caller's input buffer.  If this is too large the 
> caller may get ENOMEM but the reason should not be a
> mystery, and they can try again with something smaller.

This version looks a lot better.  Thanks.

> Signed-off-by: Eric Sandeen <sandeen at sandeen.net>

Reviewed-By: Olaf Weber <olaf at sgi.com>

> ---

> V2: set it to the fiemap info's fi_extents_max

> diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
> index 58973bb..954d701 100644
> --- a/fs/xfs/linux-2.6/xfs_iops.c
> +++ b/fs/xfs/linux-2.6/xfs_iops.c
> @@ -680,8 +680,7 @@ xfs_vn_fiemap(
>  	else
>  		bm.bmv_length = BTOBB(length);
 
> -	/* our formatter will tell xfs_getbmap when to stop. */
> -	bm.bmv_count = MAXEXTNUM;
> +	bm.bmv_count = fieinfo->fi_extents_max;
>  	bm.bmv_iflags = BMV_IF_PREALLOC;
>  	if (fieinfo->fi_flags & FIEMAP_FLAG_XATTR)
>  		bm.bmv_iflags |= BMV_IF_ATTRFORK;

> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs


-- 
Olaf Weber                 SGI               Phone:  +31(0)30-6696752
                           Veldzigt 2b       Fax:    +31(0)30-6696799
Technical Lead             3454 PW de Meern  Vnet:   955-7151
Storage Software           The Netherlands   Email:  olaf at sgi.com




More information about the xfs mailing list