spg_t pgid;
epoch_t query_epoch;
enum {
- REQUEST = 0,
- GRANT = 1,
- REJECT = 2,
- CANCEL = 3,
+ REQUEST = 0, // primary->replica: please reserve a slot
+ GRANT = 1, // replica->primary: ok, i reserved it
+ REJECT = 2, // replica->primary: sorry, try again later (*)
+ RELEASE = 3, // primary->replcia: release the slot i reserved before
+ // (*) NOTE: prior to luminous, REJECT was overloaded to also mean release
};
uint32_t type;
uint32_t priority;
case REJECT:
out << "REJECT ";
break;
- case CANCEL:
- out << "CANCEL ";
+ case RELEASE:
+ out << "RELEASE ";
break;
}
out << " pgid: " << pgid << ", query_epoch: " << query_epoch;
header.compat_version = 3;
::encode(pgid.pgid, payload);
::encode(query_epoch, payload);
- ::encode(type == CANCEL ? REJECT : type, payload);
+ ::encode(type == RELEASE ? REJECT : type, payload);
::encode(priority, payload);
::encode(pgid.shard, payload);
return;
spg_t pgid;
epoch_t query_epoch;
enum {
- REQUEST = 0,
- GRANT = 1,
- RELEASE = 2,
+ REQUEST = 0, // primary->replica: please reserve slot
+ GRANT = 1, // replica->primary: ok, i reserved it
+ RELEASE = 2, // primary->replica: release the slot i reserved before
};
uint32_t type;
uint32_t priority = 0;
if (con) {
pg->osd->send_message_osd_cluster(
new MBackfillReserve(
- MBackfillReserve::CANCEL,
+ MBackfillReserve::RELEASE,
spg_t(pg->info.pgid.pgid, it->shard),
pg->get_osdmap()->get_epoch()),
con.get());
if (con) {
pg->osd->send_message_osd_cluster(
new MBackfillReserve(
- MBackfillReserve::CANCEL,
+ MBackfillReserve::RELEASE,
spg_t(pg->info.pgid.pgid, it->shard),
pg->get_osdmap()->get_epoch()),
con.get());
if (con) {
pg->osd->send_message_osd_cluster(
new MBackfillReserve(
- MBackfillReserve::CANCEL,
+ MBackfillReserve::RELEASE,
spg_t(pg->info.pgid.pgid, it->shard),
pg->get_osdmap()->get_epoch()),
con.get());
if (con) {
pg->osd->send_message_osd_cluster(
new MBackfillReserve(
- MBackfillReserve::CANCEL,
+ MBackfillReserve::RELEASE,
spg_t(pg->info.pgid.pgid, it->shard),
pg->get_osdmap()->get_epoch()),
con.get());