[Drbd-dev] Crash in lru_cache.c

Lars Ellenberg lars.ellenberg at linbit.com
Sun Jan 13 04:14:59 CET 2008


On Sat, Jan 12, 2008 at 06:37:47PM -0500, Graham, Simon wrote:
> > sure I can have requests there, but they are not yet completed to
> upper
> > layers.  if they are, their correponding barrier will have been send
> > out
> > already.
> > 
> > for attach, we would then do
> >   block new incomming request
> >   wait for ap count to reach zero
> >   [in current code, send out a barrier now;
> >    with the idea outline above, there is no need for that]
> >   wait for the lates barrier ack
> >       (tl now empty)
> >   attach
> >   unblock
> > 
> > am I still missing something?
> 
> I think that works. 
> 
> What's the appropriate mechanism for blocking new requests? There are
> existing mechanisms based on locking the AL cache entry, but since there
> is no AL at this time, we cant use that...

there is an other one, examining the drbd state,
right as the first statement in

	drbd_make_request_common
	  inc_ap_bio
	    __inc_ap_bio_cond

 :-)

I have to think about whether we need yet an other itermediate state.
probably blocking anything for Diskless < state < Inconsistent
would be enough.

-- 
: Lars Ellenberg                            Tel +43-1-8178292-55 :
: LINBIT Information Technologies GmbH      Fax +43-1-8178292-82 :
: Vivenotgasse 48, A-1120 Vienna/Europe    http://www.linbit.com :


More information about the drbd-dev mailing list