xfs
[Top] [All Lists]

Re: xfs_bmap Cannot allocate memory

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: xfs_bmap Cannot allocate memory
From: Michael Weissenbacher <mw@xxxxxxxxxxxx>
Date: Tue, 05 Jul 2011 12:44:35 +0200
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20110705103217.GC561@dastard>
References: <4E129B00.4020709@xxxxxxxxxxxx> <20110705103217.GC561@dastard>
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10
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

<Prev in Thread] Current Thread [Next in Thread>