[Sheepdog] [PATCH] Remove unregister_event from sd_xxx_handler()

Christoph Hellwig hch at infradead.org
Tue May 15 10:08:14 CEST 2012


On Tue, May 15, 2012 at 03:01:46PM +0800, Yunkai Zhang wrote:
> With a second thought on this patch:
> https://mail-attachment.googleusercontent.com/attachment/u/0/?ui=2&ik=4a47af2829&view=att&th=1374cd782bf1a84a&attid=0&disp=inline&safe=1&zw&saduie=AG9B_P_WkgHa4wEYljmyBoplbIV_&sadet=1337064897009&sads=1zqvBm3krrhYKhyRnQOuHJT3znY
> 
> I think your solution have changed too more things: a lot of
> function's prototype. But with my solution, they are not necessary. We
> should not introduce difficult solution just because it could let you
> not need to rebase them.

I don't think your patch actually helps fixing the join race - the
cluster information is still not updated before sending the join
response on the master.  That beein said I like your changes anyway,
as they resuce the latency of updating the cluster information for
all other cases.

Another thing I noticed:  I don't think it's actually nessecary to let
the cluster drivers call update_cluster_info and update_epoch_info
directly, it should be perfectly fine to call them from inside
sd_join_handler and sd_leave_handler, and thus keep the interface for
the cluster drivers simpler.  That also means the local driver gets
updated automatically, which was missing in your patch.




More information about the sheepdog mailing list