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
Wip nitzan pglog ec getattr error #47332
Wip nitzan pglog ec getattr error #47332
Conversation
1309a0d
to
dcd40c5
Compare
jenkins test make check |
1 similar comment
jenkins test make check |
I'd suggest to rephrase the PR/commit message. Maybe: (hope I got the meaning correctly) |
Yes, that sounds better, will update it |
I also don't understand the "ref_count to wildcard tag" portion of the commit message. |
Fix LGTM though. |
jenkins test make check |
Create set of unit-test for erasure code pools Fixes: https://tracker.ceph.com/issues/56707 Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
…st object In case of copy object when the target copy is not exist with erasure code pool getattr_maybe_cache will return ENODATA that will cause ref_count to wildcard tag that can affect pglog to grow quickly with refcounts for each copy Fixes: https://tracker.ceph.com/issues/56707 Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
dcd40c5
to
f060683
Compare
jenkins test make check arm64 |
jenkins test windows |
Is there a better explanation somewhere of how rgw uses this xattr? Why exactly does returning the wrong error code here cause another xattr to increase in size without bound? |
read_refcount is checking the return code from cls_cxx_getxattr, in case that the copy is not existing we will get ENODATA (before the change) and return 0, cls_rc_refcount_read\get\put will check that return code and reset the refcount. |
For 'copy object' in EC pool, when the target copy does not exist,
getattr_maybe_cache returns ENODATA. That will cause ref_count to wildcard tag (backward capability),
which might lead pglog to have refcounts for each copy, and to grow quickly.
Fixes: https://tracker.ceph.com/issues/56707
Signed-off-by: Nitzan Mordechai nmordec@redhat.com
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows