[Drbd-dev] [DRBD 8.0 PATCH] Update state processing so that after-state-change is always done in worker thread

Graham, Simon Simon.Graham at stratus.com
Tue Jan 15 14:50:11 CET 2008


Phil,

> It is not allowed to call drbd_thread_start() while we are in
> _drbd_set_state(),
> because drbd_thread_start() uses a sleeping function
> (wait_for_completion()).
> And _drbd_set_state() is running with the req_lock hold.
> 
> But I think that can be easily took out of _drbd_set_state(), and done
> in the
> context of the netlink connector callbacks.
> 

Whilst this is definitely a good idea, I convinced myself this would not
be a problem because we should never actually have to start the thread
in the context of a call from drbd_set_state - it should already be
running in this case in which case drbd_start_thread is a NOP.

Simon



More information about the drbd-dev mailing list