xfs
[Top] [All Lists]

Re: [dm-devel] [BUG] pvmove corrupting XFS filesystems (was Re: [BUG] In

To: Matteo Frigo <athena@xxxxxxxx>
Subject: Re: [dm-devel] [BUG] pvmove corrupting XFS filesystems (was Re: [BUG] Internal error xfs_dir2_data_reada_verify)
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 8 Mar 2013 09:50:01 +1100
Cc: dm-devel@xxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20130307223140.GU23616@dastard>
References: <87d2vnc34r.fsf@xxxxxxxx> <20130226044039.GM5551@dastard> <20130227010414.GD1514@xxxxxxxxxxxxxxxxxx> <20130227014900.GY5551@dastard> <87y5eah4xz.fsf@xxxxxxxx> <87k3pjs908.fsf@xxxxxxxx> <20130307223140.GU23616@dastard>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Mar 08, 2013 at 09:31:40AM +1100, Dave Chinner wrote:
> On Thu, Mar 07, 2013 at 07:13:27AM -0500, Matteo Frigo wrote:
> > Matteo Frigo <athena@xxxxxxxx> writes:
> > 
> > > Well, I don't really know anything about this topic, so I may be
> > > completely off the mark, but dm-raid1.c:mirror_map() does indeed return
> > > EWOULDBLOCK, and EWOULDBLOCK is #define'd to be EAGAIN, so it seems to
> > > me that dm-raid1 does indeed return EAGAIN for "rw == READA" (which I
> > > assume is read-ahead) if the "region is not in-sync":
> > >
> > >   /*
> > >    * If region is not in-sync queue the bio.
> > >    */
> > >   if (!r || (r == -EWOULDBLOCK)) {
> > >           if (rw == READA)
> > >                   return -EWOULDBLOCK;
> > >
> > >           queue_bio(ms, bio, rw);
> > >           return DM_MAPIO_SUBMITTED;
> > >   }
> > 
> > Dave (and others),
> > 
> > do you have any suggestion on what should be done to fix this bug?
> > 
> > I have tried returning -EIO instead of -EWOULDBLOCK, but xfs does not
> > like that.  dm-zero.c:zero_map() appears to return -EIO too, so this is
> > another potential issue.
> 
> You need the XFS patch I posted so that readahead buffer
> verification is avoided in the case of an error being returned from
> the readahead.

I don't recall if that patch was sent to this thread, so here it is:

http://oss.sgi.com/archives/xfs/2013-02/msg00516.html

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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