Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
rgw: set placement rule properly #15221
I test the master and this doesn't cause any functional issue, but will bring redundant reading of the head object in some case.
We know that the head object will be prefetched in RGWRados::get_obj_state_impl(RGWRados::raw_obj_stat) from somewhere, we don't need to really read it when do RGWRados::iterate_obj.
suggest that we have a bucket using a placement rule with different data pool from default placement rule, let's see some codes in RGWRados::iterate_obj:
consider that ofs == 0 and the iter pointer to the head object.
but head_obj has pool from the specific placement rule, so reading_from_head will be false.
I am writing some codes about seperating the head object and tail stripe storage, so it bring some issue in my codes. But for the master, it just bring some performance issue, not functional issue.