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 |