0

私は初心者の Ceph 開発者で、最近スナップショットのコードを読んでいます。pg_pool_t::add_unmanaged_snap から、最初の RBD スナップショット ID が 2 から始まることは明らかですが、実際には 4 から始まります。snap_seq をインクリメントする RBD スナップに生物がいるのだろうかと思います。誰か助けてくれませんか?

前もって感謝します!

以下は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