[Top] [All Lists]

Re: [PATCH 2/2] xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callba

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/2] xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 4 Jul 2012 09:29:23 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20120703160531.GA855@xxxxxxxxxxxxx>
References: <20120702100003.960640484@xxxxxxxxxxxxxxxxxxxxxx> <20120702100034.921366796@xxxxxxxxxxxxxxxxxxxxxx> <20120703002857.GY19223@dastard> <20120703160531.GA855@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Jul 03, 2012 at 12:05:31PM -0400, Christoph Hellwig wrote:
> On Tue, Jul 03, 2012 at 10:28:57AM +1000, Dave Chinner wrote:
> > On Mon, Jul 02, 2012 at 06:00:05AM -0400, Christoph Hellwig wrote:
> > > xfs_bdstrat_cb only adds a check for a shutdown filesystem over 
> > > xfs_buf_iorequest,
> > > but xfs_buf_iodone_callbacks just checked for a shut down filesystem a 
> > > little
> > > earlier.  In addition the shutdown handling in xfs_bdstrat_cb is not very 
> > > suitable
> > > for this caller.
> > 
> > Makes sense - I have a patch locally that does this as part of a
> > xfs_buf_iorequest(bp, blkno, length) conversion to get rid of
> Can you send these out ASAP?

It's not working yet - I found an issue with logging and writeback
of uncached buffers through the AIL (i.e. the superblock). This only
works by good fortune right now and requires uncached buffers to
carry their block number internally, so I need to rethink and rework
the patch.

I think that I will make the superblock buffer a cached buffer once
again, but keep the current shortcut to look it up. Doing so will
enable me to keep the distinction I created between cached and
uncached buffers. It will also solve the AIL flush waiting problem
we currently also have with it on freeze/unmount.

> I have another big batch of buffer error
> handling changes for 3.6 I'm working on right now.

How much does it change? I'm also trying to get all the read verify
callback infrastructure changes done for 3.6, and i suspect these may
step on each other. I've just about got those patches done - testing
and bug fixing is happening at the moment....


Dave Chinner

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