xfs
[Top] [All Lists]

Re: XFS defragmentation issue

To: Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Subject: Re: XFS defragmentation issue
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Sun, 12 Sep 2010 11:01:27 +1000
In-reply-to: <20100911195702.GB25185@xxxxxxxxxxxxxxxxx>
References: <4C8A4395.5070702@xxxxxxxxxxxxx> <4C8B27E4.2050102@xxxxxxxxxxxxx> <20100911082330.GG705@dastard> <4C8BDAC8.8010203@xxxxxxxxxxxxxxxxx> <20100911195702.GB25185@xxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
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

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