Re: [PATCH] libceph: don't set weight to IN when OSD is destroyed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 6 Mar 2017, Ilya Dryomov wrote:
> Since ceph.git commit 4e28f9e63644 ("osd/OSDMap: clear osd_info,
> osd_xinfo on osd deletion"), weight is set to IN when OSD is deleted.
> This changes the result of applying an incremental for clients, not
> just OSDs.  Because CRUSH computations are obviously affected,
> pre-4e28f9e63644 servers disagree with post-4e28f9e63644 clients on
> object placement, resulting in misdirected requests.
> 
> Mirrors ceph.git commit a6009d1039a55e2c77f431662b3d6cc5a8e8e63f.
> 
> Fixes: 930c53286977 ("libceph: apply new_state before new_up_client on incrementals")
> Link: http://tracker.ceph.com/issues/19122
> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
> ---

Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

>  net/ceph/osdmap.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
> index cc22dd282a3e..ffe9e904d4d1 100644
> --- a/net/ceph/osdmap.c
> +++ b/net/ceph/osdmap.c
> @@ -1379,7 +1379,6 @@ static int decode_new_up_state_weight(void **p, void *end,
>  		if ((map->osd_state[osd] & CEPH_OSD_EXISTS) &&
>  		    (xorstate & CEPH_OSD_EXISTS)) {
>  			pr_info("osd%d does not exist\n", osd);
> -			map->osd_weight[osd] = CEPH_OSD_IN;
>  			ret = set_primary_affinity(map, osd,
>  						   CEPH_OSD_DEFAULT_PRIMARY_AFFINITY);
>  			if (ret)
> -- 
> 2.4.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux