On 06/06/2012 09:31 PM, Christoph Hellwig wrote: > On Wed, Jun 06, 2012 at 09:28:38PM +0800, Liu Yuan wrote: >> Yes, this patch only serialize the cluster requests on local node, but I >> think this is good enough. Sheepdog doesn't need to carry on the burden >> such as name collision detection, which could be handled very well >> (better) by the administration layer by serious users. Remove >> block/unblock logic is relatively difficult to understand and possibly >> risk the cluster to be blocked for ever (assume any bug that blocks the >> cluster but forget unblock it). >> >> By removing it, we get much more (1 simpler code 2 remove deadlock risk) >> than lose (just leave the burden to upper layer). > > Sheepdog needs to handle concurrent creation of VDIs, for some defintion > of handling - detecting the case and returning an error would be enough, > causing silent failures would not. > > That why I said I like the approch, but issues like the one above need > to be carefully audited and fixed. > Yes, but I can't come up with an easy fix for concurrent VDI creation of the same name inside sheep and the upper software is at a much better place to handle it. Thanks, Yuan |