for silencing a warning like
btree/btree_lba_manager.cc:177:12: warning: binding dereferenced null pointer to reference has undefined behavior [-Wnull-dereference]
return *static_cast<btree_range_pin_t*>(nullptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ceph_abort_msg() is marked [[noreturn]], so we can just use it here
without worrying about complains from compiler.
Signed-off-by: Kefu Chai <kchai@redhat.com>
ceph.spec.in: use devtoolset-9 for building crimson
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
since seastar dropped support from C++14, we have to move to a compiler
with a decent C++17 support.
in this change, gcc-toolset-9 is used for compiling ceph if seastar is
enabled. use version >= 9.2.1-2.2, because of
https://bugzilla.redhat.com/show_bug.cgi?id=1853900
Signed-off-by: Kefu Chai <kchai@redhat.com>
* extract read_object_for_push_op() out of build_push_op().
build_push_op() is composed of multiple steps. would be better
if we can split and extract them into separated method for better
readability
* clear push_op->data_included() if fiemap fails. before this change,
a local copy of `copy_subset` is cleared if fiemap fails, but
push_op->data_included is not updated in this case. we should
clear the latter if no data is returned in push_op->data. so,
in this change, push_op->data_included is cleared if fiemap
fails. the same applies to other cases where no data is returned in
push_op
* add comments to outline the steps in read_object_for_push_op().
Signed-off-by: Kefu Chai <kchai@redhat.com>
mgr/dashboard: Update list of supported browsers
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
If you tried to setup ceph-backport.sh without having 'jq' installed, you would
get a totally unrelated error message and it was hard to figure out the problem.
Signed-off-by: Tiago Melo <tmelo@suse.com>
bl::append(std::istream) comes with a surprise implementation. People may think
it would just slurp the indentical binary data from the stream. Document the
trap to let people don't mis-use it.
Signed-off-by: Robin Lee <cheeselee@fedoraproject.org>
Previously, dec_ref didn't handle actually retiring the
extent from the cache. dec_ref will now reach into the
cache and mark the extent retired if it exists either
in the cache or in the current transaction.
Signed-off-by: Samuel Just <sjust@redhat.com>
Previously, we returned a refcount from inc_ref and dec_ref. Now,
return the paddr as well for future code accounting for released
extents.
In addition, replumb btree_lba_manager to return an enoent error if
the mapping does not exist, and the resulting refcount, paddr
otherwise with a refcount of 0 indicating that the mapping has
been removed.
Signed-off-by: Samuel Just <sjust@redhat.com>
In the event that an extent is created and removed in the same
transaction (invalid extent in fresh_block_list), update
block specific metadata but don't add to cache and especially
do not mark clean. LBAManager::complete_commit implementations
are meant to use skip based on state in the same way.
Signed-off-by: Samuel Just <sjust@redhat.com>
mgr/dashboard: log useful information from internal server errors
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Fabrizio D'Angelo <fdangelo@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>