On 2012年08月20日 13:15, MORITA Kazutaka wrote:
> At Thu,  9 Aug 2012 13:27:41 +0800,
> levin li wrote:
>>
>> From: levin li <xingke....@taobao.com>
>>
>> The new joined node doesn't have the vdi copy list, or have
>> incomplete vdi copy list, so we need to fetch the copy list
>> data from other nodes
> 
> It makes code complex to store the copy list in local store because
> it's difficult to keep consistency of the data.
> 
> I'd suggest gathering both vid and copy list with SD_OP_READ_VDI
> requests at the same time.  Then we can remove this patch and simplify
> 5th patch a lot.
> 
> Thanks,
> 
> Kazutaka
> 

How about this:

We don't store the VDI copy list locally, but read it from the local
VDI inode object when a node starts up, and in update_cluster_info()
we collect the entire VDI copy list from other nodes just as what
get_vdi_bitmap() does, but a little different from get_vdi_bitmap(),
we can not make it perform asynchronously if the node needs recovery,
because we need the VDI copy list in recovery, the solution is that
in prepare_object_list() we make sheep sleeps until it find that the
get_vdi_copy_list() is finished.

thanks,

levin
-- 
sheepdog mailing list
sheepdog@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to