rbd.xfstests task allows spawning xfstests runs on multiple nodes.
Don't unwind task contexts if one of the runs fails -- let the other
runs finish.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Previously, there was only one time we would end up in this region of code:
when the backfill was rejected by the peer. Previously that was apparently
reliably when we had an outstanding SCAN request, because we would
unconditionally cancle the MAX recovery op and clear waiting_on_backfill.
See 624aaf2a4e for when this code appeared.
Now we have several similar paths, and we don't always have an outstanding
scan call (I don't think!). Regardless, move most these three cases into
a common helper and make the finish_recovery_op completion conditional
on whether there is an outstanding SCAN. This fixes a leak of a recovery
op when we defer while a scan is outstanding (this bug was recently
introduced by e708410542 and then
duplicated by 2463c6463d).
Note that there is still one other time we register MAX ops: when we are
finishing backfill. There, we start one per target. But we will always
get back our reply and process it in the normal way (that old commit
did not change the timing for these).
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/18192/head:
qa/cephfs: test ec data pool
qa/suites/fs/basic_functional/clusters: more osds
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
This commit introduces a regression where the admin socket specified in
ceph.conf overrides command line arguments or environment variables.
This reverts commit 1630f4bbef.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
the RGWPutObj_Compress filter relies on a starting offset of 0 to ensure
that we only compress entire objects
for RGWRados::fetch_remote_obj(), we also fetch object metadata. the
replies come back with a 'Rgwx-Embedded-Metadata-Len' header, which
specifies how many bytes of object metadata are at the front of the
request body. when this is present, the offsets passed from
RGWRadosPutObj down to the RGWPutObjDataProcessor filters are offsets
into the http response body, rather than logical offsets into the object
data itself
this commit adds a transformation to RGWRadosPutObj so that only that
logical offset is visible to the RGWPutObjDataProcessor
Fixes: http://tracker.ceph.com/issues/21895
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Also for the most time write_message return zero. So avoid checking
"r < 0 or r > 0" every time, it should firstly check "r == 0".
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Fix for:
[src/test/librbd/test_librbd.cc:2610]: (warning) %lld in format string
(no. 1) requires 'long long' but the argument type is 'unsigned long long'.
[src/test/librbd/test_librbd.cc:2610]: (warning) %lld in format string
(no. 2) requires 'long long' but the argument type is 'unsigned long long'.
[src/test/librbd/test_librbd.cc:2610]: (warning) %lld in format string
(no. 3) requires 'long long' but the argument type is 'unsigned long long'.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/test/librbd/test_internal.cc:1054]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1054]: (warning) %ld in format string
(no. 2) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1063]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1073]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1114]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1121]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1129]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1196]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1196]: (warning) %ld in format string
(no. 2) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1205]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
[src/test/librbd/test_internal.cc:1215]: (warning) %ld in format string
(no. 1) requires 'long' but the argument type is 'unsigned long'.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/rgw/rgw_rados.cc:3752]: (performance) Inefficient usage of
string::find() in condition; string::compare() would be faster.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/osd/osd_types.cc:439]: (warning) %d in format string (no. 1) requires
'int *' but the argument type is 'unsigned int *'.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Use the same logic as in OSDMap::pg_to_raw_up().
Fix for:
[src/osd/OSDMap.cc:2071] -> [src/osd/OSDMap.cc:2077]: (warning) Either the
condition 'if(primary)' is redundant or there is possible null pointer
dereference: primary.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/include/CompatSet.h:112]: (warning) %lld in format string (no. 1)
requires 'long long' but the argument type is 'unsigned long long'.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/rgw/rgw_admin.cc:4228]: (style) Redundant condition:
If 'ret < 0', the comparison 'ret' is always true.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/rgw/rgw_admin.cc:5862]: (warning) Comparison of a boolean
expression with an integer.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/msg/async/Stack.cc:42]: (warning) %d in format string (no. 1)
requires 'int' but the argument type is 'unsigned int'.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/msg/async/AsyncConnection.cc:122]: (warning) Member variable
'AsyncConnection::msg_left' is not initialized in the constructor.
[src/msg/async/AsyncConnection.cc:122]: (warning) Member variable
'AsyncConnection::cur_msg_size' is not initialized in the constructor.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/mon/MDSMonitor.cc:1717]: (performance) Inefficient usage of
string::find() in condition; string::compare() would be faster.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix for:
[src/kv/MemDB.h:59]: (warning) Member variable 'MemDB::m_total_bytes'
is not initialized in the constructor.
[src/kv/MemDB.h:59]: (warning) Member variable 'MemDB::m_allocated_bytes'
is not initialized in the constructor.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>