On Tue, Jul 05, 2011 at 12:44:35PM +0200, Michael Weissenbacher wrote: > 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 Ah, there's a mismatch betwenteh man page and the implementation, then. The man page implies that "-n <num>" means query num extents at a time to map the entire file. It's implemented as "map the first <num> extents", though. You could try this: # xfs_io -f -c "fiemap -v" <file> Because fiemap loops doing getting a small number of extents at a time... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs