[sheepdog] [PATCH v1] sheep/http: fix error in bucket_delete

Liu Yuan namei.unix at gmail.com
Wed Aug 6 10:17:10 CEST 2014


On Tue, Aug 05, 2014 at 08:33:46PM +0800, Bingpeng Zhu wrote:
> From: NankaiZBP <nkuzbp at foxmail.com>
> 
> In current implementation, When we create a bucket, we decide
> the bnode's location in account VDI using sd_hash(bucket_name)
> as key. We handle hash conflict by linear probing hash table.
> Here is the bug:
> When we delete a bucket, we can't discard its bnode. Because
> bnode_lookup() need it to find if some bucket exists or not
> by checking adjacent bnodes. Therefore, we just zero its
> bnode.name when client want to delete a bucket. When we create
> a bucket later, we can reuse the deleted bnode if they hash to
> the same location in account VDI.

No, bnode_lookup() will check every objects. What your said just applied to
onode_lookup(). There is no bug as your described for bnode_lookup().

Thanks
Yuan



More information about the sheepdog mailing list