]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rados, osd: Improve attrs output of list-inconsistent-obj
authorDavid Zafman <dzafman@redhat.com>
Tue, 30 Aug 2016 19:22:29 +0000 (12:22 -0700)
committerDavid Zafman <dzafman@redhat.com>
Wed, 16 Nov 2016 17:38:15 +0000 (09:38 -0800)
commitdf3ff6dafeadb3822b35c424a890db9a14d7f60f
tree8c1ab9f612bd7748cde62844146680298d0fb714
parentb39001ec6ff0996860bcb5a3578bc2c66355c781
rados, osd: Improve attrs output of list-inconsistent-obj

Persist the user_version and shard id of scrubbed obj
Rados command dump inconsistent obj's version and shard-id
    so they can be passed to repair command
Rados list-inconsistent-obj output of attrs
    Make attrs an array since there are more than one
    Use base64 encode for values with non-printable chars
    Add indication if base64 encoding used
Add checking for ss_attr_missing and ss_attr_corrupted
    Rename attr errors to attr_key_mismatch and attr_value_mismatch
Add missing size_mismatch_oi scrub checking
For erasure coded pools add ec_size_error and ec_hash_error not just read_error
Use oi_attr_missing and oi_attr_corrupted just like list-inconsistent-snap does
Pick an object info based on version and use that to find specific shards in error
    Check for object info inconsistency which should be rare
Make all errors based on comparing shards to each other object errors
    We don't want give the impression that we've picked the correct one

Signed-off-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: David Zafman <dzafman@redhat.com>
src/common/scrub_types.cc
src/common/scrub_types.h
src/include/rados/rados_types.hpp
src/osd/ECBackend.cc
src/osd/PGBackend.cc
src/osd/PGBackend.h
src/osd/osd_types.cc
src/osd/osd_types.h
src/tools/rados/rados.cc