Distributed Replicated Block Device (DRBD) development
 help / color / mirror / Atom feed
* RE: [Drbd-dev] [PATCH] Proposed fix to 8.0.x to ALWAYS schedule afterstate processing
@ 2007-12-10  2:05 Graham, Simon
  2007-12-10  8:56 ` Lars Ellenberg
  2007-12-11 22:35 ` [Drbd-dev] [PATCH] Proposed fix to 8.0.x to ALWAYS scheduleafterstate processing Graham, Simon
  0 siblings, 2 replies; 3+ messages in thread
From: Graham, Simon @ 2007-12-10  2:05 UTC (permalink / raw)
  To: Graham, Simon, drbd-dev

> As you may recall, I ran into a problem recently with some state
> changes
> being delivered via netlink out of order because some state changes do
> not get their after-state-change processing deferred to the worker
> thread - this is a big problem if you have code trying to track the
> state changes via the netlink mechanism. The suggested solution was to
> make the change to schedule ALL after state change processing to the
> worker thread and the attached patch does this, including the
> following:

We have found one issue with this patch -- we are now seeing occasional
messages:

BUG! md_sync_timer expired! Worker calls drbd_md_sync()

I _think_ this is because the meta data can be marked dirty in the after
state change processing and we now have some situations where this
happens after the code runs that writes the meta data -- I'm not sure
how terrible it is, but I think we should move the code that marks the
meta data dirty into _drbd_set_state() so it happens inline -- I don't
see any reason why it has to be done in the worker thread... what do you
think?

Simon

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-12-11 22:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-10  2:05 [Drbd-dev] [PATCH] Proposed fix to 8.0.x to ALWAYS schedule afterstate processing Graham, Simon
2007-12-10  8:56 ` Lars Ellenberg
2007-12-11 22:35 ` [Drbd-dev] [PATCH] Proposed fix to 8.0.x to ALWAYS scheduleafterstate processing Graham, Simon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox