[Sheepdog] [PATCH 1/2] deleting data objects of a vdi before deleting the inode

levin li levin108 at gmail.com
Tue May 1 15:29:29 CEST 2012


On 05/01/2012 08:13 PM, Christoph Hellwig wrote:
> On Tue, May 01, 2012 at 08:06:04PM +0800, Liu Yuan wrote:
>> Okay, sorry for the noise((embarrassing)). I got the same problem as you
>> said. But it seems that current master works okay now (even without my
>> patch [fix nr_copies in vdi.c]), no?
> Current master shows the same behaviour for me.  The small patch below
> to revert a tiny bit of the offending commit fixes it, but I didn't
> have time to actually understand why yet, as I've been busy at a
> conference yesterday.
>
>
> Index: sheepdog/sheep/vdi.c
> ===================================================================
> --- sheepdog.orig/sheep/vdi.c	2012-05-01 08:00:40.968150165 -0400
> +++ sheepdog/sheep/vdi.c	2012-05-01 08:03:58.320155224 -0400
> @@ -552,7 +552,7 @@ again:
>   		goto err;
>   	}
>
> -	if (inode->name[0] != '\0'&&  vid != dw->vid)
> +	if (inode->name[0] != '\0')
>   		goto out;
>
>   	for (i = 0; i<  ARRAY_SIZE(inode->child_vdi_id); i++) {
Well, I've fixed this bug in my latest patch 
(2f9a8f75df6a29f27c1d2510ee68f4d2e0922189),
it's in fact a bug of get_store_dir() which gives
a bad object directory, making remove data objects failed
all the time in simple store

thanks.



More information about the sheepdog mailing list