Project

General

Profile

Bug #48329

cls_rgw_gc_queue_remove_entries() doesn't remove entries from xattr urgent data

Added by Casey Bodley 2 months ago. Updated 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
% Done:

0%

Source:
Tags:
cls_rgw_gc
Backport:
octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

cls_rgw_gc_queue_remove_entries() has to scan the entries it's removing from the queue in order to also remove any urgent data entries that match removed queue entries. at the end of cls_rgw_gc_queue_remove_entries(), we re-encode the urgent data and write it back with queue_write_head()

however, once urgent data spills over to xattrs, each removed entry calls cls_cxx_getxattr("cls_queue_urgent_data") to check for a match in xattr_urgent_data_map. matching entries are removed from xattr_urgent_data_map, but the map never gets written back to the "cls_queue_urgent_data" xattr

p.s. similar to https://tracker.ceph.com/issues/48328, cls_rgw_gc_queue_remove_entries() should call cls_cxx_getxattr("cls_queue_urgent_data") once at the beginning instead of every entry


Related issues

Related to rgw - Bug #48330: rgw: fix GC defer process and clean up from immediate fix New
Related to rgw - Bug #48328: inefficient check for xattr urgent data in cls_rgw_gc_queue_list_entries() New

History

#1 Updated by Casey Bodley 2 months ago

  • Tags changed from gc to cls_rgw_gc

#2 Updated by J. Eric Ivancich 2 months ago

  • Related to Bug #48330: rgw: fix GC defer process and clean up from immediate fix added

#3 Updated by J. Eric Ivancich 2 months ago

  • Related to Bug #48328: inefficient check for xattr urgent data in cls_rgw_gc_queue_list_entries() added

#4 Updated by J. Eric Ivancich 2 months ago

  • Target version set to v16.0.0

Also available in: Atom PDF