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@xxxxxxxxxxx>
Reviewed-By: Olaf Weber <olaf@xxxxxxx>
> ---
> 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@xxxxxxxxxxx
> 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@xxxxxxx
|