On Sat, Sep 11, 2010 at 09:57:02PM +0200, Iustin Pop wrote: > On Sat, Sep 11, 2010 at 02:38:48PM -0500, Stan Hoeppner wrote: > > Dave Chinner put forth on 9/11/2010 3:23 AM: > > > On Sat, Sep 11, 2010 at 07:55:32AM +0100, John Lister wrote: > > >> Stan Hoeppner wrote on 9/10/2010 14:00 > > >>>> On 10/09/2010 15:41, John Lister wrote: > > >>> Try unmounting and remounting the filesystem, and see if the various > > >>> tools all report the same thing afterwards. This solved the exact same > > >>> problem for me very recently, though I'm on kernel 2.6.34.1 and xfsprogs > > >>> 2.9.8. > > >> > > >> Cheers, that got rid of most of it, there is still a slight > > >> discrepency (50 extra fragments) which I can live with. > > > > > > xfs_db used buffered IO on the block device, which is not coherent > > > with the filesystem. If you are using it on an active filesystem, > > > then running "echo 1 > /proc/sys/vm/drop_caches" before you run > > > xfs_db should make it read from disk at least once.... > > I wonder if xfs_db shouldn't use by default direct I/O, or at least take > a flag to allow it to do direct I/O only against the blocks it needs. > Dropping the entire caches on a big box is not nice :) True - I need to look at whether posix_fadvise(POSIX_FADV_DONTNEED) will clear the bdev pages, and if so that is the easiest solution. Rewriting xfs_db to use direct IO is a pretty major undertaking... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs