[Drbd-dev] DRBD-8: BUG when disk write errors occur duringheavyI/O

Graham, Simon Simon.Graham at stratus.com
Fri Jan 12 02:45:00 CET 2007


> 
> hm. but that would make the "local" reference count be a network
> reference count, too, it may even keep the reference for a long time
> if you configure it to freeze io on connection loss...
> 
> not good.

Good point...

> 
> so maybe we rather want to brace drbd_al_complete_io
> with inc_local dec_local ?
> 
> currently we only call it in three places,
> early bail out on conflicting writes in drbd_make_request
> [which holds local ref], drbd_endio_write_sec when the
> EE_CALL_AL_COMPLETE_IO flag is set [also holds a local ref]
> and this code in question.
> 
> so how about this (sorry for the long lines):

Looks good to me -- with Phil's previous change we have an extra
reference sometimes (since in some cases we still have the ref for the
local request) but that's not a problem.

I'll try this out and get back to you.
Simon


More information about the drbd-dev mailing list