xfs_bmap Cannot allocate memory

Michael Weissenbacher mw at dermichi.com
Tue Jul 5 05:44:35 CDT 2011


Hi Dave!
> 
> Sounds like your memory is fragmented. IIRC, bmap tries to map all
> the extents in a single buffer, and that might cause problems for
> files with large numbers of extents. ENOMEM can occur if an
> internal buffer cannot be allocated to hold all the extents to be
> mapped in one call.
> 
> Try using the "-n <num_extents>" option to reduce the number of
> extents gathered per ioctl call and see if that makes the
> issue go away.
> 
Thanks, i've tried that:
# xfs_bmap -n 3 /backup/tmp/cannot_allocate_memory.vhd
/backup/tmp/cannot_allocate_memory.vhd:
	0: [0..134279]: 444610560..444744839
	1: [134280..134399]: hole
	2: [134400..206495]: 433472688..433544783
# xfs_bmap -n 70000 /backup/tmp/cannot_allocate_memory.vhd | tail -n1
	69999: [244690864..244690871]: 1173913592..1173913599
# xfs_bmap -n 75000 /backup/tmp/cannot_allocate_memory.vhd | tail -n1
	74999: [253425664..253425671]: 1284986768..1284986775
# xfs_bmap -n 80000 /backup/tmp/cannot_allocate_memory.vhd | tail -n1
	79999: [262287488..262289015]: hole
# xfs_bmap -n 85000 /backup/tmp/cannot_allocate_memory.vhd | tail -n1
	84999: [272607184..272613335]: 1497107288..1497113439
# xfs_bmap -n 90000 /backup/tmp/cannot_allocate_memory.vhd | tail -n1
xfs_bmap: xfsctl(XFS_IOC_GETBMAPX) iflags=0x0
["/backup/tmp/cannot_allocate_memory.vhd"]: Cannot allocate memory

- Seems that xfs_bmap reads at maximum the number of extents that i
specified with -n
- Seems that the file has even more then 85000 extents

xfsprogs version is 3.1.5, compiled from source

cheers,
Michael




More information about the xfs mailing list