0

我是新手 Ceph 开发人员,最近正在阅读快照代码。从 pg_pool_t::add_unmanaged_snap,很明显第一个 RBD 快照 id 应该从 2 开始,但实际上,它从 4 开始,我想知道 RBD snap 中是否有一些生物,它增加了 snap_seq,有人可以帮助我吗?

提前致谢!

下面是pg_pool_t::add_unmanaged_snap的代码。

void pg_pool_t::add_unmanaged_snap(uint64_t& snapid)
{
  ceph_assert(!is_pool_snaps_mode());
  if (snap_seq == 0) {
    // kludge for pre-mimic tracking of pool vs selfmanaged snaps.  after
    // mimic this field is not decoded but our flag is set; pre-mimic, we
    // have a non-empty removed_snaps to signifiy a non-pool-snaps pool.
    removed_snaps.insert(snapid_t(1));
    snap_seq = 1;
  }
  flags |= FLAG_SELFMANAGED_SNAPS;
  snapid = snap_seq = snap_seq + 1;
}

以下屏幕截图是在全新的 rbd 池上创建 rbd 快照的过程。很明显,这里的快照id是从4开始的

在全新的 rbd 池上创建 rbd 快照

在此处输入图像描述

4

0 回答 0