if (advance_head(lc_shard, *head.get(), *entry.get(), now) < 0) {
goto exit;
}
- /* done with this shard */
+ /* done with this shard */
if (head->get_marker().empty()) {
ldpp_dout(this, 5) <<
"RGWLC::process() cycle finished lc_shard="
<< dendl;
/* not fatal, could result from a race */
}
- } else if (ret < 0) {
- entry->set_status(lc_failed);
} else {
- entry->set_status(lc_complete);
- }
- ret = sal_lc->set_entry(lc_shard, *entry);
- if (ret < 0) {
- ldpp_dout(this, 0) << "RGWLC::process() failed to set entry on "
- << lc_shard << dendl;
- /* fatal, locked */
- goto exit;
+ if (ret < 0) {
+ entry->set_status(lc_failed);
+ } else {
+ entry->set_status(lc_complete);
+ }
+ ret = sal_lc->set_entry(lc_shard, *entry);
+ if (ret < 0) {
+ ldpp_dout(this, 0) << "RGWLC::process() failed to set entry on "
+ << lc_shard
+ << dendl;
+ /* fatal, locked */
+ goto exit;
+ }
}
/* done with this shard */
}
} while(1 && !once && !going_down());
-notlocked:
- delete lock;
- return 0;
-
exit:
lock->unlock();
+notlocked:
delete lock;
return 0;
}