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

Yunkai Zhang yunkai.me at gmail.com
Tue May 15 10:15:06 CEST 2012


On Tue, May 15, 2012 at 4:08 PM, Christoph Hellwig <hch at infradead.org> wrote:
> 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.

Yes, I have called it in sd_xxx_handler() in v2, do not touch anything
in driver.

>



-- 
Yunkai Zhang
Work at Taobao



More information about the sheepdog mailing list