return out << "GHMAX";
if (o.shard_id != shard_id_t::NO_SHARD)
out << std::hex << o.shard_id << std::dec;
- out << '!' << o.hobj << '!';
+ out << '#' << o.hobj << '#';
if (o.generation != ghobject_t::NO_GEN)
out << std::hex << (unsigned long long)(o.generation) << std::dec;
return out;
return true;
}
- // look for shard! prefix
+ // look for shard# prefix
const char *start = s.c_str();
const char *p;
int sh = shard_id_t::NO_SHARD;
for (p = start; *p && isxdigit(*p); ++p) ;
- if (!*p && *p != '!')
+ if (!*p && *p != '#')
return false;
if (p > start) {
int r = sscanf(s.c_str(), "%x", &sh);
++start;
}
- // look for !generation suffix
+ // look for #generation suffix
long long unsigned g = NO_GEN;
const char *last = start + strlen(start) - 1;
p = last;
while (isxdigit(*p))
p--;
- if (*p != '!')
+ if (*p != '#')
return false;
if (p < last) {
sscanf(p + 1, "%llx", &g);
const char *v[] = {
"GHMIN",
"GHMAX",
- "13!0:00000000::::head!",
- "13!0:00000000::::head!deadbeef",
- "!-1:60c2fa6d:::inc_osdmap.1:333!deadbeef",
- "!-1:60c2fa6d:::inc%02osdmap.1:333!deadbeef",
- "!-1:60c2fa6d:::inc_osdmap.1:333!",
- "1!MIN!deadbeefff",
- "1!MAX!",
- "!MAX!123",
- "!-40:00000000:nspace::obj:head!",
+ "13#0:00000000::::head#",
+ "13#0:00000000::::head#deadbeef",
+ "#-1:60c2fa6d:::inc_osdmap.1:333#deadbeef",
+ "#-1:60c2fa6d:::inc%02osdmap.1:333#deadbeef",
+ "#-1:60c2fa6d:::inc_osdmap.1:333#",
+ "1#MIN#deadbeefff",
+ "1#MAX#",
+ "#MAX#123",
+ "#-40:00000000:nspace::obj:head#",
NULL
};