]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os, osd, tools: Add backportable compatibility checking for sharded objects
authorDavid Zafman <david.zafman@inktank.com>
Wed, 25 Sep 2013 16:19:16 +0000 (09:19 -0700)
committerDavid Zafman <david.zafman@inktank.com>
Thu, 21 Nov 2013 02:42:12 +0000 (18:42 -0800)
commit8e8cf30f0a6d95e51a155ac8af1186fe9fdf574b
treeeb36698bdb304373d5e033bda59e5136a9feffcc
parent5c65e1ee3932a021cfd900a74cdc1d43b9103f0f
os, osd, tools: Add backportable compatibility checking for sharded objects

OSD
  New CEPH_OSD_FEATURE_INCOMPAT_SHARDS
FileStore
  NEW CEPH_FS_FEATURE_INCOMPAT_SHARDS
  Add FSSuperblock with feature CompatSet in it
  Store sharded_objects state using CompatSet
  Add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore
  Add read_superblock()/write_superblock() internal filestore functions
ceph_filestore_dump
  Add OSDsuperblock to export format
  Use CompatSet from OSD code itself in filestore-dump tool
  Always check compatibility of OSD features with on-disk features
  On import verify compatibility of on-disk features with export data
  Bump super_ver due to export format change

Backport: dumpling, cuttlefish

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit c6b83180f9f769de27ca7890f5f8ec507ee743ca)

Conflicts:

src/os/FileStore.cc
src/os/FileStore.h
src/osd/OSD.cc

Excluded from cherry-pick:
  Didn't add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore
  Didn't add code to check for incomplete transition to sharded objects in ceph-filestore-dump
src/os/FileStore.cc
src/os/FileStore.h
src/osd/OSD.cc
src/osd/OSD.h
src/osd/osd_types.h
src/tools/ceph-filestore-dump.cc