[Drbd-dev] DRBD + DM = EIO.
Ben Timby
btimby at gmail.com
Thu May 27 16:14:42 CEST 2010
Lars, you rock! That fixes my problem. However...
I still get read error -5 warnings in my messages:
May 27 09:56:03 ragoon6 kernel: block drbd1: p read: error=-5
May 27 09:59:48 ragoon6 last message repeated 26 times
May 27 09:59:49 ragoon6 last message repeated 146 times
drbd_worker.c:
--
BIO_ENDIO_FN_START;
if (error)
dev_warn(DEV, "p %s: error=%d\n",
bio_data_dir(bio) == WRITE ? "write" : "read", error);
if (!error && !uptodate) {
dev_warn(DEV, "p %s: setting error to -EIO\n",
bio_data_dir(bio) == WRITE ? "write" : "read");
/* strange behavior of some lower level drivers...
* fail the request by clearing the uptodate flag,
* but do not return any error?! */
error = -EIO;
}
--
error == -5 at the beginning of this block. At least in my kernel,
there is code in dm.c that translates a missing BIO_UPTODATE flag to
EIO. Judging by the similar code and comment, this was not always the
case?
Anyway, I can live with the warnings, but you might want to silence
them with another patch...
Thanks for your reply!
On Thu, May 27, 2010 at 5:01 AM, Lars Ellenberg
<lars.ellenberg at linbit.com> wrote:
> You most likely hit
> http://git.drbd.org/?p=drbd-8.3.git;a=commitdiff;h=7fda00aacaf772253167d4ddb1eaa847862d6332;hp=3d36021c59c09e2bf37b82204b0df556de03ec0d
>
> :(
>
> What is missing from that commit message is that a "failed"
> (intentionally not served) READA will be considered
> a real local IO error and cause DRBD to detach.
>
> Hth,
More information about the drbd-dev
mailing list