Re: [BUG] pvmove corrupting XFS filesystems (was Re: [BUG] Internal error xfs_dir2_data_reada_verify)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel


[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux