xfs
[Top] [All Lists]

Re: synchronization of XFS

To: Chris Wedgwood <cw@xxxxxxxx>
Subject: Re: synchronization of XFS
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Thu, 25 Mar 2004 14:45:19 +0000
Cc: Steve Lord <lord@xxxxxxx>, Stefan Smietanowski <stesmi@xxxxxxxxxx>, "IKARASHI, Seiichi" <ikarashi@xxxxxxxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: <20040325140723.GA12558@xxxxxxxxxxxxxxxxxxxxxxx>; from cw@xxxxxxxx on Thu, Mar 25, 2004 at 06:07:23AM -0800
References: <4060F7FC.8090602@xxxxxxxxxxxxxxxx> <20040325063902.GA9697@xxxxxxxxxxxxxxxxxxxxxxx> <4062C97A.6030702@xxxxxxxxxxxxxxxx> <20040325124152.GA12078@xxxxxxxxxxxxxxxxxxxxxxx> <4062D7E5.6070501@xxxxxxxxxx> <20040325132200.GA12333@xxxxxxxxxxxxxxxxxxxxxxx> <4062E19A.90207@xxxxxxx> <20040325140723.GA12558@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.2.5.1i
On Thu, Mar 25, 2004 at 06:07:23AM -0800, Chris Wedgwood wrote:
> fsync()/sync() should mean all dirty DATA blocks and METADATA blocks
> are flushed to the backing store.  Anything less than this is a bug.

Depends on how you define backing store.

> 
> > Making sync push all the metadata itself would slow it down.
> 
> sync() should also flush the metadata.  If people wish to only flush
> data blocks there is fdatasync() for smart applications.

Read again what Steve wrote.  All metadata is in the log, so it's not
lost on a crash.  It's inplace, though, so unless grub relays the log
in memory somewhere before trying to use it's own xfs implementation
in userspace (which it doesn't), it doesn't see the data yet.

> > Now if grub is opening the block device and reading out of that, it
> > is looking at the same pages for metadata that xfs is looking at in
> > memory. There is a bug where you can get corruption if you access
> > the block device in parallel with the filesystem. Possibly this is
> > behind the problem.
> 
> This will cause an oops on 2.6.x won't it --- so I suspect if this is
> behind the problem the report will be have been different.

I don't think they're hitting the problem, the symptoms look very different.


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