[sheepdog]   [PATCH v1] sheep/md: fix dog cluster info command show wrong disk number

Bingpeng Zhu nkuzbp at foxmail.com
Thu Sep 11 04:53:42 CEST 2014


If md.nr_disks changes from 1 to 0, the node is pure gateway then. Seems it doesn't need
to do any recovery work since no object will locate in the pure gateway.‍





------------------ Original ------------------
From:  "Hitoshi Mitake";<mitake.hitoshi at lab.ntt.co.jp>;
Date:  Thu, Sep 11, 2014 10:34 AM
To:  "Bingpeng Zhu"<nkuzbp at foxmail.com>; 
Cc:  "sheepdog"<sheepdog at lists.wpkg.org>; "Bingpeng Zhu"<bingpeng.zbp at alibaba-inc.com>; 
Subject:  Re: [sheepdog] [PATCH v1] sheep/md: fix dog cluster info command show	wrong disk number



At Wed, 10 Sep 2014 20:08:32 +0800,
Bingpeng Zhu wrote:
> 
> If we enable diskvnodes mode and encounter EIO, running dog
> cluster info will show wrong disk number in the new epoch.
> We should update node disks when handling EIO and unplug the
> disk.
> 
> Signed-off-by: Bingpeng Zhu <bingpeng.zbp at alibaba-inc.com>
> ---
>  sheep/md.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/sheep/md.c b/sheep/md.c
> index b13d30a..378d1f1 100644
> --- a/sheep/md.c
> +++ b/sheep/md.c
> @@ -541,6 +541,9 @@ static void md_do_recover(struct work *work)
>  out:
>  	sd_rw_unlock(&md.lock);
>  
> +	if (disk)
> +		update_node_disks();
> +

The change looks reasonable. But I have a question:

>  	if (nr > 0)
>  		kick_recover();

Does the above conditional branch (nr > 0) required? When a node has
single disk and faces EIO, md.nr_disks can change from 1 to 0. In such
a case, the code will not call kick_recover(). I think it is a
problematic behavior. How do you think?

Thanks,
Hitoshi

>  
> -- 
> 1.7.1
> 
> 
> 
> 
> -- 
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20140911/5611672f/attachment-0004.html>


More information about the sheepdog mailing list