]> git.apps.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:38:36 +0000 (18:38 -0800)
commit35c91cac9a2b414ba3d52ea06cf6f71a0a1d4ba3
tree05bbf4b1a73f2e07921306cd8cd3dabbbf7be6f2
parent372f62717c56d9ab883ae2942e13d6d8d37c2925
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