]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/alienstore: always use fsid in bluestore
authorKefu Chai <kchai@redhat.com>
Sat, 25 Jul 2020 09:13:41 +0000 (17:13 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 27 Jul 2020 03:29:10 +0000 (11:29 +0800)
commit176fc9f075a8554cbb0fc535a08ac5733c8bcd5c
tree111103a50c33d8685780049f657c5af89a7ae5d7
parentc551da852716da6957892b824067ddacf799ba3f
crimson/os/alienstore: always use fsid in bluestore

alienstore should not be stateful in this perspective, it should proxy
all acccess of fsid to bluestore.

there are couple issues in existing implementation:

* when mkfs, bluestore tries to generate a new osd_fsid if the specified
  one is empty. but we explicitly pass the given uuid down to
  AlienStore::mkfs() so the bluestore can use it. so we should pass it
  down instad of storing it locally.
* when persisting superblock in OSD::mkfs(), superblock.osd_fsid() is
  read from store->get_fsid(), if user specifies an empty uuid, we
  should persist the generated uuid in the superblock.

in this change, all access to fsid is proxied to the underlying
bluestore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/os/alienstore/alien_store.cc
src/crimson/os/alienstore/alien_store.h