[DRBD-user] dettach on io-error failed on pending i/o ops

Lars Ellenberg Lars.Ellenberg at linbit.com
Fri Dec 23 15:30:07 CET 2005

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

/ 2005-12-23 15:16:49 +0100
\ David Engraf:
> > > When the application cancels i/o requests, the drbd can also cancel
> > > the pending requests over the net and should, if there are any more
> > > requests on the local device, cancel them too.
> > 
> > I don't see it is that easy.
> > If you see something which I happen to overlook, please provide a patch,
> > or "prove of concept" or the like.
> > 
> > > The problem is as long as there are any pending requests, I can't
> > > write to the fileserver...is this ok??
> > 
> > this is not coded in drbd.
> > I did not observe this either, when I did "detach tests".
> Yes, when I do a "soft" unplug test with "drbdadm dettach all" it works
> fine. This is because the hard disk is no really broken and outstanding i/o
> ops were acked after the disk was dettached. But when I do a "hard" unplug,
> the i/o ops doesn't get acked (you can see in /proc/drbd under "lo: "), and
> the drbd hangs in the function drbd_io_error and waits for completion
> (mdev->local_cnt == 0). As long as drbd_free_ll_dev is not called, it seems
> that drbd cannot write on the device any more.

my "tests" are typically on dm target, which I just remap to "error",
which will fail requests pretty fast, yes. good point :-/

: Lars Ellenberg                                  Tel +43-1-8178292-0  :
: LINBIT Information Technologies GmbH            Fax +43-1-8178292-82 :
: Schoenbrunner Str. 244, A-1120 Vienna/Europe   http://www.linbit.com :
please use the "List-Reply" function of your email client.

More information about the drbd-user mailing list