| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [dm-devel] [BUG] pvmove corrupting XFS filesystems (was Re: [BUG] Internal error xfs_dir2_data_reada_verify) |
| From: | Matteo Frigo <athena@xxxxxxxx> |
| Date: | Thu, 07 Mar 2013 07:13:27 -0500 |
| Cc: | dm-devel@xxxxxxxxxx, xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <87y5eah4xz.fsf@xxxxxxxx> (Matteo Frigo's message of "Tue, 26 Feb 2013 21:21:44 -0500") |
| References: | <87d2vnc34r.fsf@xxxxxxxx> <20130226044039.GM5551@dastard> <20130227010414.GD1514@xxxxxxxxxxxxxxxxxx> <20130227014900.GY5551@dastard> <87y5eah4xz.fsf@xxxxxxxx> |
| User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) |
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.
I have verified that removing the READA special case, treating READA
like READ, fixes the problem:
if(0) if (rw == READA)
return -EWOULDBLOCK;
Of course this "fix" throws away the baby with the bath water.
I am willing to write and submit a patch, but I would appreciate
directions as to what the correct protocol between xfs and dm is
supposed to be.
Regards,
MF
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] xfstests 273: fix a typo, David Sterba |
|---|---|
| Next by Date: | Re: XFS filesystem corruption, Julien FERRERO |
| Previous by Thread: | dog supply, 3U Pet Supply |
| Next by Thread: | Re: [dm-devel] [BUG] pvmove corrupting XFS filesystems (was Re: [BUG] Internal error xfs_dir2_data_reada_verify), Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |