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>
Older Cython doesn't to implicit simple arrays, so use an explicit array
for stat output.
Revert change removing stat
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
This is additional bookkeeping to track the oldest aio in flight, so we
make it optional, and disabled by default. It is useful for identifying
buggy kernel aio or bad devices.
Signed-off-by: Sage Weil <sage@redhat.com>
Pullup to just the merges on Sep 10 fixes an obvious compile
problem, but there are other relevant changes.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Pull-up Boost to the commit which merged the upstream fix for
upstream Boost/iostreams bug #11860 (template arity warnings),
per discussion in core.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Build Boost using the src/boost submodule, unless overridden
by -DWITH_SYSTEM_BOOST.
If -DBOOST_J=<n> is provided, builds Boost with <n> jobs.
Boost builds in the configured Build directory.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
This implements option #4 for external boost, based on upstream
discussion. In option #4:
1. boost is added as a submodule
2. builds default to using the attached boost module
3. building against a system-provided boost is supported, but
must be configured explicitly
Because all of the boost components are attached as nested
submodules in the upstream boost repository, neither the nested
submodules nor the root boost submodule have been cloned into
modules in github.com/ceph (acked by Sage).
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
rgw: fix the field 'total_time' of log entry in log show opt
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
use a unique_ptr to ensure the entries_index is freed on destruction
Fixes: http://tracker.ceph.com/issues/17812
Signed-off-by: Casey Bodley <cbodley@redhat.com>