[sheepdog] [PATCH] sheep: remove block/unblock callbacks
Christoph Hellwig
hch at infradead.org
Wed Jun 6 15:08:06 CEST 2012
I like this idea, but I don't think it will actually work as-is.
The current blocking cluster operations quience other cluster operations
from the when they are handled in the main thread first, over the
execution in the worker thread, until after the process_main method
is called on all nodes.
By just serializing operations we can already start new cluster
operations before the previous process_main has finished.
The case where I can see this causing major issues is VDI creation:
the vdi_inuse bit is only set on all nodes in the process_main
operation, but the way I read this patch we could have already
started a new VDI create operation on another node that would race
to use the same VDI slot (if using the same or a similar enough name)
More information about the sheepdog
mailing list