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>