diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2017-07-27 17:59:14 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-08-01 16:46:45 +0200 |
commit | ae78dd8139ce93a528beb7f3914531b7a7be9e30 (patch) | |
tree | 69c4997dcbd64a8c1912e442a3444325714ce2e6 /net/ceph/osd_client.c | |
parent | f53b7665c8cec40c8a638b55ee098b721e6be20c (diff) | |
download | lwn-ae78dd8139ce93a528beb7f3914531b7a7be9e30.tar.gz lwn-ae78dd8139ce93a528beb7f3914531b7a7be9e30.zip |
libceph: make RECOVERY_DELETES feature create a new interval
This is needed so that the OSDs can regenerate the missing set at the
start of a new interval where support for recovery deletes changed.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Diffstat (limited to 'net/ceph/osd_client.c')
-rw-r--r-- | net/ceph/osd_client.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index b5f016cb9569..dcfbdd74dfd1 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -1337,6 +1337,8 @@ static enum calc_target_result calc_target(struct ceph_osd_client *osdc, bool legacy_change; bool split = false; bool sort_bitwise = ceph_osdmap_flag(osdc, CEPH_OSDMAP_SORTBITWISE); + bool recovery_deletes = ceph_osdmap_flag(osdc, + CEPH_OSDMAP_RECOVERY_DELETES); enum calc_target_result ct_res; int ret; @@ -1399,6 +1401,8 @@ static enum calc_target_result calc_target(struct ceph_osd_client *osdc, pi->pg_num, t->sort_bitwise, sort_bitwise, + t->recovery_deletes, + recovery_deletes, &last_pgid)) force_resend = true; @@ -1421,6 +1425,7 @@ static enum calc_target_result calc_target(struct ceph_osd_client *osdc, t->pg_num = pi->pg_num; t->pg_num_mask = pi->pg_num_mask; t->sort_bitwise = sort_bitwise; + t->recovery_deletes = recovery_deletes; t->osd = acting.primary; } |