Re: [GIT PULL] DRBD bits for 2.6.39

From: Philipp Reisner
Date: Thu Mar 10 2011 - 07:10:55 EST


[...]
>
> Now that I have your attention... Did you look at the plugging changes?

You always have it :)
I looked at the changes, and I noticed that we no longer get the unplug
events.

> As Christoph mentioned, you seem to be passing plugging information on
> the wire. What is the reason for that? With the on-stack plugging, these
> events are not seen by the block device anymore.
>

Imagine DRBD in synchronous mode (protocol C in DRBD speak) on an older
kernel. We mirror a write, in order to get the write-ack packet from the
peer, the peer needs to unplug as well. -> Send the unplug events via the
wire.

Now, it we would connect a current-head-of-git DRBD on one node to
a older one (which still needs unplug packets to respond quickly),
we would have a tar pit block device. (At least for single synchronous
writes)

We are in brainstorming mode right now here.
One idea is to have a timer, that gets touched with every request we get
in, in case it expires, we send out a unplug event over the wire.

But having the unplug events would be more elegant of course...

Best,
Phil
--
: Dipl-Ing Philipp Reisner
: LINBIT | Your Way to High Availability
: Tel: +43-1-8178292-50, Fax: +43-1-8178292-82
: http://www.linbit.com

DRBD(R) and LINBIT(R) are registered trademarks of LINBIT, Austria.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/