[ENBD] Doubled requests

Peter T. Breuer ptb at it.uc3m.es
Tue Jan 13 08:02:58 MST 2004


"Also sprach Arne Wiebalck:"
> On Tue, 13 Jan 2004, Peter T. Breuer wrote:
> I used my resource directly (without enbd) and could write more than
> 100,000,000 requests without seing a request being delivered multiple
> times. The number of requests reported was exactly the number I expected.
> 
> Checked again with enbd (show_errs=1, increased req_timeo to 30 instead
> of 5), but after 102,400 requests the device reported 102,401.

It seems to be 10 by default in the actual device.  Or at least that is
what the dev/sys value says now that I added it.

> > Anyway, the server ought to shout if it notices a double write.
> >
> > Maybe the cache is too small to notice?
> 
> Is the driver or the enbd-client (or can be both) the source of a
> retransmission?

Only the driver.  If it doesn't get an ack from a client daemon within a
certain time it will give up on that client and pass the request to
another client (well, it just puts it back in the queue, at an
appropriate point, and the clients will refetch it).

> > If you see no rollbacks in the client, the client is not
> > retransmitting.
> 
> Hmmm.

I really don't know of any other source.

> I'll add some code to my device to notify me if it sees requests to the
> same block. Maybe we can conclude something if we see the request series
> to be
> 
>   .. 22 23 24 25 25 26 27 ...
>               ^^^^^
> 
> or
> 
>   .. 22 23 24 25 26 27 28 ... 110 25 111 112 113 ...
>               ^^                  ^^

Yes - I'll see if I can enlarge the cache to round about the 1M size,
and maybe that'll catch it too.

> since the first case should be handled by the cache, while it may be too
> small for the second.

Peter


More information about the ENBD mailing list