New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cls/refcount: store and use list of retired tags #15673

Merged
merged 1 commit into from Jul 20, 2017

Conversation

Projects
None yet
5 participants
@yehudasa
Member

yehudasa commented Jun 13, 2017

Fixes: http://tracker.ceph.com/issues/20107

Keep around the list of retired tags, make sure we don't
drop a refcount using the same tag.

Signed-off-by: Yehuda Sadeh yehuda@redhat.com

cls/refcount: store and use list of retired tags
Fixes: http://tracker.ceph.com/issues/20107

Keep around the list of retired tags, make sure we don't
drop a refcount using the same tag.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
@jharbott

This comment has been minimized.

Contributor

jharbott commented Jun 14, 2017

Pretty radical fix, I wonder if it would still make sense to also include the patch I show in the issue, in order to avoid double removals completely when easily done.

@yehudasa

This comment has been minimized.

Member

yehudasa commented Jun 14, 2017

@jrosenboom we should definitely get your change in also. However, since the gc operation is not atomic, there's no guarantee there that a double release won't happen (e.g., due to restart of the radosgw process in the middle of the gc operation).

@liewegas liewegas added this to the luminous milestone Jun 20, 2017

::decode(refs, bl);
if (struct_v >= 2) {

This comment has been minimized.

@jharbott

jharbott Jun 21, 2017

Contributor

Will an unpatched rgw simply ignore the added bl or will it cause an error? In the latter case one would need to add a new xattr instead I think. Having to upgrade all RGW nodes at the same time might not be a feasible option for operators.

This comment has been minimized.

@yehudasa

yehudasa Jun 21, 2017

Member

rgw itself doesn't even see this data structure, it's only used in the objclass, meaning that it's an osd side change. An older version will be able to read the structure as if it didn't have this field.

@yehudasa

This comment has been minimized.

Member

yehudasa commented Jun 29, 2017

@yuriw can you add this one to your testing branch?

@liewegas liewegas added the needs-qa label Jul 18, 2017

@yuriw yuriw merged commit c31f25b into ceph:master Jul 20, 2017

4 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
arm64 make check arm64 make check succeeded
Details
make check make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment