Skip to content

Commit 6479e9e

Browse files
committed
osd/SnapMapper: Add logs to ctor and update_bits()
Signed-off-by: Matan Breizman <[email protected]>
1 parent e736b27 commit 6479e9e

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

src/osd/SnapMapper.cc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,20 @@ int OSDriver::get_next_or_current(
205205
}
206206
#endif // WITH_SEASTAR
207207

208+
SnapMapper::SnapMapper(
209+
CephContext* cct,
210+
MapCacher::StoreDriver<std::string, ceph::buffer::list> *driver,
211+
uint32_t match, ///< [in] pgid
212+
uint32_t bits, ///< [in] current split bits
213+
int64_t pool, ///< [in] pool
214+
shard_id_t shard ///< [in] shard
215+
)
216+
: cct(cct), backend(driver), mask_bits(bits), match(match), pool(pool),
217+
shard(shard), shard_prefix(make_shard_prefix(shard)) {
218+
dout(10) << *this << __func__ << dendl;
219+
update_bits(mask_bits);
220+
}
221+
208222
string SnapMapper::get_prefix(int64_t pool, snapid_t snap)
209223
{
210224
static_assert(sizeof(pool) == 8, "assumed by the formatting code");
@@ -483,6 +497,24 @@ void SnapMapper::set_snaps(
483497
backend.set_keys(to_set, t);
484498
}
485499

500+
void SnapMapper::update_bits(
501+
uint32_t new_bits) ///< [in] new split bits
502+
{
503+
dout(20) << *this << __func__ << " new_bits: " << new_bits << dendl;
504+
mask_bits = new_bits;
505+
std::set<std::string> _prefixes = hobject_t::get_prefixes(
506+
mask_bits,
507+
match,
508+
pool);
509+
prefixes.clear();
510+
for (auto i = _prefixes.begin(); i != _prefixes.end(); ++i) {
511+
prefixes.insert(shard_prefix + *i);
512+
}
513+
dout(20) << *this <<__func__ << " prefix updated" << dendl;
514+
515+
reset_prefix_itr(CEPH_NOSNAP, "update_bits");
516+
}
517+
486518
int SnapMapper::update_snaps(
487519
const hobject_t &oid,
488520
const set<snapid_t> &new_snaps,

src/osd/SnapMapper.h

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -331,28 +331,12 @@ class SnapMapper : public Scrub::SnapMapReaderI {
331331
uint32_t bits, ///< [in] current split bits
332332
int64_t pool, ///< [in] pool
333333
shard_id_t shard ///< [in] shard
334-
)
335-
: cct(cct), backend(driver), mask_bits(bits), match(match), pool(pool),
336-
shard(shard), shard_prefix(make_shard_prefix(shard)) {
337-
update_bits(mask_bits);
338-
}
334+
);
339335

340336
/// Update bits in case of pg split or merge
341337
void update_bits(
342338
uint32_t new_bits ///< [in] new split bits
343-
) {
344-
mask_bits = new_bits;
345-
std::set<std::string> _prefixes = hobject_t::get_prefixes(
346-
mask_bits,
347-
match,
348-
pool);
349-
prefixes.clear();
350-
for (auto i = _prefixes.begin(); i != _prefixes.end(); ++i) {
351-
prefixes.insert(shard_prefix + *i);
352-
}
353-
354-
reset_prefix_itr(CEPH_NOSNAP, "update_bits");
355-
}
339+
);
356340

357341
const std::set<std::string>::iterator get_prefix_itr() {
358342
return prefix_itr;

0 commit comments

Comments
 (0)