Actions
Bug #19849
opencls ops do not consistently get ENOENT on whiteouts
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
the cls glue objclass.cc directly calls do_osd_ops, which inconsistently checks for !exists || is_whiteout(). instead we should wrap all cls read calls in a check that verifies the object exists. otherwise the error codes could be inconsistent (e.g., ENODATA instead of ENOENT for getxattr). hmm, maybe that's the only one, but a single consistent ENOENT path (like we have with in do_op()) would be better.
Updated by Greg Farnum almost 7 years ago
- Project changed from Ceph to RADOS
- Category set to Correctness/Safety
- Component(RADOS) OSD added
Actions