mds may try discover several times for MDirUpdate, rename may kick
in and cause MDCache::path_traverse() to return error.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
MDCache::eval_subtree_root() may tigger scatter-gather process, which
submits log entry. Submitting log entry while adjusting subtree map is
bad, because subtree map in intermediate state may get used/logged.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
When a directory tree become frozen, its WAIT_FROZEN contexts are
executed asynchronously. Before Migrator::export_frozen() set export
bounds, MDCache::try_subtree_merge_at() can merge newly imported
subtree into the frozen directory tree. This causes problem if there
are auth pins in newly imported subtree.
The fix is creating subtree root immediately after directory tree
becomes frozen. The new subtree root has dir_auth 'me, me', so it's
not meregeable.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
The C++11 standard mandates the variadic constructor of std::tuple
to be explicit. As a result, we can't use the uniform initialization
syntax in return statements. Moreover, the tuples became too verbose
after the AWSv4 rework.
See: https://stackoverflow.com/a/14961849
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Fixes 2 problems:
- Do not test Bluestore on FreeBSD, since that does not work (yet)
And all erasure code overwrite tests are executed on BlueStore OSDs
Erasure code overwrites are unsafe on Filestore, see:
http://docs.ceph.com/docs/master/rados/operations/erasure-code/#erasure-coding-with-overwrites
- the JQ expression errors out with:
(version 1.5-1-g940132e-dirty)
====
jq: error (at :232): Cannot iterate over null (null)
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.7/json/init.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python2.7/json/decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
====
Adding a ? to the jq expression allows to proceed on null blocks.
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
In preparation for moving this task from ceph/teuthology.git into ceph/ceph.git
The move is necessary because jewel-specific changes are needed, yet teuthology
does not maintain a separate branch for jewel. Also, swift.py is a
Ceph-specific task so it makes more sense to have it in Ceph.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Fixes the coverity scan report:
1412839 Uninitialized pointer field
CID 1412839 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)2. uninit_member: Non-static
class member array is not initialized in this constructor nor in any functions that it calls.
Signed-off-by: Jos Collin <jcollin@redhat.com>
there is chance that other pieces of application loads PK11 module
already and does not finalize it before calling common_init_finish().
also, upon fork, PK11 module resets its entire status including `nsc_init`,
by which PK11 module tell if it is initialized or not. so the behavior
of NSS_InitContext() could be different before and after fork. that's
another reason to ignore CKR_CRYPTOKI_ALREADY_INITIALIZED error (see
NSS_GetError()).
Fixes: http://tracker.ceph.com/issues/19741
Signed-off-by: Kefu Chai <kchai@redhat.com>
this was recently added for s3tests, but rgw_enable_static_website
isn't enough to get the test_s3website.py tests to pass. they're
skipped if rgw_enable_static_website is false, so enabling this just
caused them to fail instead
Signed-off-by: Casey Bodley <cbodley@redhat.com>
return initializer lists rather than std::make_tuple(), which constructs
a temporary tuple and converts it to the return type. this was causing
an issue with std::string -> string_view conversions, because the
string_views ended up pointing to memory from a string in that
temporary tuple
Fixes: http://tracker.ceph.com/issues/20372
Signed-off-by: Casey Bodley <cbodley@redhat.com>
While highly unlikely in normal fs operations, draining an
entire filesystem could induce a recursion on object delete/unref,
when provoked by cohort_lru::drain().
Adjusted to use intrusive slist rather than std:vector<T*>
after review.
Found running librgw_file_nfsns unit test.
Fixes: http://tracker.ceph.com/issues/20374
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>