Commit Graph

130071 Commits

Author SHA1 Message Date
Chunmei Liu
07756ec06e crimson:return read error code in MOSDOpReply
Signed-off-by: Chunmei Liu <chunmei.liu@intel.com>
2022-03-22 21:52:29 -07:00
Liu-Chunmei
00b9fb6263
Merge pull request #45517 from liu-chunmei/crimson-fix-cmpxattr
crimson: let read operation return result in MOSDOpReply

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-03-20 22:40:28 -07:00
Chunmei Liu
3b5e838691 crimson: let read operation return result in MOSDOpReply
otherwise cmp_xattr will failed,
only check if return result for write operation.

Signed-off-by: Chunmei Liu <chunmei.liu@intel.com>
2022-03-18 19:58:43 -07:00
Liu-Chunmei
a43b68294c
Merge pull request #45518 from liu-chunmei/crimson-fix-read-length
crimson: set returned read length in op.extent.length not in rval

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-03-18 19:55:31 -07:00
Kefu Chai
ad0742365d
Merge pull request #45520 from rzarzynski/wip-crimson-rvalue-in-future-set_callback
crimson/common, seastar: bump up to a newer version. Fix a FTBFS

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-03-19 09:46:51 +08:00
Ernesto Puerta
7cad69fd93
Merge pull request #44835 from rhcs-dashboard/cypress-cucumber
mgr/dashboard: BDD approach for the dashboard cephadm e2e

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2022-03-18 18:12:16 +01:00
Casey Bodley
26cc3fd6b5
Merge pull request #45345 from cbodley/wip-cls-rgw-suggest-version
cls/rgw: rgw_dir_suggest_changes detects race with completion

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Mark Kogan <mkogan@redhat.com>
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2022-03-18 11:42:50 -04:00
Casey Bodley
72d0675094
Merge pull request #45300 from soumyakoduri/wip-skoduri-lc-sync
rgw: Update "CEPH_RGW_DIR_SUGGEST_LOG_OP" for remove entries

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
2022-03-18 11:41:35 -04:00
Radosław Zarzyński
4830f33b56 seastar: bump up to a newer version.
It's needed to addresses a FTBFS due to the Seastar's
no-locking-when-throwing hack.

Tags: seastar submodule
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-03-18 15:50:44 +01:00
Radosław Zarzyński
873b5edf40 crimson/common: pass rvalue reference to future::set_callback().
It's necessary since 710a1bfdc02202fe9e59df8ea31de5b82b893fb4
in Seastar.

This change is a part of ongoing upgrade of Seastar which will
be completed in a follow-up PR, after merging another change
with the Seastar's upstream.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
2022-03-18 15:50:44 +01:00
Chunmei Liu
7b96ba484f crimson: set returned read length in op.extent.length not in rval
rval set to be zero, means read success.
otherwise CReadOpsTest failed.

Signed-off-by: Chunmei Liu <chunmei.liu@intel.com>
2022-03-17 22:47:00 -07:00
Kefu Chai
e2c1101b69
Merge pull request #45419 from tchaikov/wip-cxx20-fixes-core
osd, common: C++20 related fixes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-18 11:18:34 +08:00
Casey Bodley
228b7f6658
Merge pull request #45391 from mkogan1/wip-fix-lc-alloc
rgwlc: fix segfault during lc

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 17:12:25 -04:00
Yuri Weinstein
688e463a0d
Merge pull request #45103 from jtlayton/wip-54280
osd: allow sparse reads with a non-zero truncate-seq

Reviewed-by: Xiubo Li <xiubli@redhat.com>
2022-03-17 12:55:49 -07:00
Matt Benjamin
73ef518b2b
Merge pull request #40703 from linuxbox2/wip-rgwlc-noreset
rgwlc: remove explicit lc shard resets at start-of-run
2022-03-17 14:03:19 -04:00
Yuri Weinstein
53df8bafed
Merge pull request #45392 from sseshasa/wip-snaptrim-qos-with-mclock
mon, osd: Add snaptrim stats to the existing PG stats.

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-03-17 09:48:12 -07:00
Matt Benjamin
0c42370d60 rgwlc: restore already_run_today guard
On review, this constraint was correct--it does reliably prevent
same-cycle re-runs when a lc threads rendezvous on a bucket.

Also, for concurrent (or stale) and already processed buckets,
remember to advance head past the corresponding buckets.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:08:12 -04:00
Matt Benjamin
0ecc2b8fc0 rgwlc: prevent multiple runs per scheduling cycle
Restore (and robustify) the assertion that, in general, each bucket
shard should be processed once per scheduling cycle.

If the prior cycle did not finish, processing in the current cyhcle
will continue from the marker where the last cycle left off.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:08:03 -04:00
Matt Benjamin
bc0127ee12 rgwlc: include lc shard oid in "lc shard list"
E.g.,
[
    {
        "bucket": ":bucket1:f2f4a8dd-7ec9-4758-bc4f-c8f5fbc85109.4137.2",
        "shard": "lc.6",
        "started": "Fri, 18 Feb 2022 17:30:16 GMT",
        "status": "COMPLETE"
    },
...
]

The prototyped approach adds a copy of the shard name (which is
assured to be a small string) to rgw::sal::LCEntry.  It's not
expected to be represented in underlying store types.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:07:55 -04:00
Matt Benjamin
d83540235e rgwlc: avoid front() on empty lc entry vector
Conveniently, this arose after removing all lifecycle shards from
RADOS, proving it could be done safely.

A restart is currently needed to recognize new lifecycle shards,
if rgw_gc_max_objs also changed.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:07:43 -04:00
Matt Benjamin
b46ac1b762 rgwlc: pretty-print status in RGWLC::process(int...)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:07:32 -04:00
Matt Benjamin
c069eb7ff0 rgwlc: remove bucket_lc_prepare, add backoff
Remove now-unused RGWLC::bucket_lc_prepare.  Wrap serializer calls
in RGWLC::process(int index...) with simple backoff, limited to 5
retries.

In RGWLC::process(int index...), also open-coded the behavior of
RGWLC::bucket_lc_prepare(...), as the lock sharing between these
methods is error prone.  For now, that method exists, so that it can
be called from the single-bucket process.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:07:24 -04:00
Matt Benjamin
b3fdd8894c rgwlc: remove explicit lc shard resets at start-of-run
This is an alternative solution to the (newly exposed) lifecycle
shard starvation problem reported by Jeegen Chen.

There was always an starvation condition implied by the
reset of lc shard head at the start of processing.  The introduction
of "stale sessions" in parallel lifecycle changes made it more
visible, in particular when rgw_lc_debug_interval was set to a small
value and many buckets had lifecycle policy.

My hypothesis in this change is that lifecycle processing for each
lc shard should /always/ continue through the full set of eligible
buckets for the shard, regardless of how many processing cycles might
be required to do so.  In general, restarting at the first eligible
bucket on each reschedule invites starvation when processing "gets
behind", so just avoid it.

Fixes: https://tracker.ceph.com/issues/49446

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 6e2ae13adced6b3dbb2fe16b547a30e9d68dfa06)

rgwlc: add a wraparound to continued shard processing

If the full set of buckets for a given lc shard couldn't be
processed in the prior cycle, processing will start with a
non-empty marker.  Note the initial marker position, then
when the end of shard is reached, allow processing to wrap
around to the logical beginning of the shard and proceeding
through the initial marker.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Please enter the commit message for your changes. Lines starting
(cherry picked from commit 0b8f683d3cf444cc68fd30c3f179b9aa0ea08e7c)

don't report clearing incorrectly

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:07:15 -04:00
Matt Benjamin
5f0a268257 rgwlc: permit skipping processing in RGWLC::bucket_lc_process(...)
The intent is to permit tracing of the bucket processing scheduler, without
expiring or transitioning any objects.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:06:54 -04:00
Matt Benjamin
8fc7d6d162 rgwlc: permit disabling of (default) auto-clearing of stale sessions
Provide an option to disable automatic clearing of stale sessions--
which, unless disabled, happens after 2 lifecycle scheduling cycles.

The default behavior is most likely not desired when a debugging or
testing lifecycle processing with rgw_lc_debug_interval is set, and
therefore re-entering a running session after 2 scheduling cycles is
fairly likely.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2022-03-17 11:06:48 -04:00
Kefu Chai
816bab645a s3select: bump s3select submodule
to include the C++20 fixes included recently

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-03-17 22:00:36 +08:00
Kefu Chai
1047466203 rgw/rgw_sal_motr: ignore clang warning
clang++-13 complains like:

/usr/include/motr/addb2/histogram.h:99:44: error: arithmetic between different enumeration types ('(unnamed enum at /usr/include/motr/addb2/internal.h:44:1)' and '(unnamed enum at /usr/include/motr/addb2/counter.h:49:1)') is deprecated [-Werror,-Wdeprecated-anon-enum-enum-conversion]
        M0_ADDB2_HIST_BUCKETS = 2 * (VALUE_MAX_NR - M0_ADDB2_COUNTER_VALS - 2)
                                     ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~

so let's silence it.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-03-17 22:00:36 +08:00
Kefu Chai
f5c3ae2af8 cls/fifo: use friend instead of member operators
to address following error when compiling with C++20 standard:

../src/rgw/cls_fifo_legacy.cc:2217:22: error: ISO C++20 considers use of overloaded operator '==' (with operand types 'rados::cls::fifo::journal_entry' and 'rados::cls::fifo::journal_entry') to be ambiguous despite there being a unique best viable function [-Werror,-Wambiguous-reversed-operator]
            !(jiter->second == e)) {
              ~~~~~~~~~~~~~ ^  ~
../src/cls/fifo/cls_fifo_types.h:148:8: note: ambiguity is between a regular call to this operator and a call with the argument order reversed
  bool operator ==(const journal_entry& e) {
       ^

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
0713db5a94 osd: Replace deprecated use of format_to
The non-deprecated version takes an explicit OutputIterator.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
746729554d osd: Fix truncated format warning
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
85c3e11b95 osd: Replace deprecated spirit/include/phoneix.hpp with phoenix.hpp
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
26e9be7f0c common: Fix format truncation warning
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
869be0a143 common: Replace deprecated spirit/include/phoneix with phoenix.hpp
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Adam C. Emerson
691119c389 include: Remove deprecated std::iterator from xlist
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-03-17 22:00:36 +08:00
Casey Bodley
916cd753e0 neorados: assoc_delete() uses allocator_traits
the std::allocator<T> member functions destroy() and deallocate() were
deprecated in c++17 and removed in c++20. call the static functions on
std::allocator_traits<T> instead

resolves the c++20 compilation error with clang13:

In file included from ceph/src/test/cls_fifo/bench_cls_fifo.cc:38:
ceph/src/neorados/cls/fifo.h:684:7: error: no member named 'destroy' in 'std::allocator<neorados::cls::fifo::detail::JournalProcessor<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>>'
    a.destroy(t);
    ~ ^
ceph/src/neorados/cls/fifo.h:1728:11: note: in instantiation of function template specialization 'neorados::cls::fifo::FIFO::assoc_delete<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>, neorados::cls::fifo::detail::JournalProcessor<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>>' requested here
    FIFO::assoc_delete(h, this);
          ^
ceph/src/neorados/cls/fifo.h:1605:6: note: in instantiation of member function 'neorados::cls::fifo::detail::JournalProcessor<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>::handle' requested here
            handle(errc::inconsistency);
            ^
ceph/src/neorados/cls/fifo.h:857:8: note: in instantiation of member function 'neorados::cls::fifo::detail::JournalProcessor<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>::process' requested here
    p->process();
       ^
/usr/include/boost/asio/bind_executor.hpp:407:12: note: in instantiation of member function 'neorados::cls::fifo::FIFO::NewPartPreparer<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>::operator()' requested here
    return this->target_(BOOST_ASIO_MOVE_CAST(Args)(args)...);
           ^
ceph/src/common/async/bind_allocator.h:179:12: note: in instantiation of function template specialization 'boost::asio::executor_binder<neorados::cls::fifo::FIFO::NewPartPreparer<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>, boost::asio::executor>::operator()<boost::system::error_code &, bool>' requested here
    return this->target(std::forward<Args>(args)...);
           ^
ceph/src/neorados/cls/fifo.h:939:5: note: in instantiation of function template specialization 'neorados::cls::fifo::FIFO::_update_meta<ceph::async::allocator_binder<boost::asio::executor_binder<neorados::cls::fifo::FIFO::NewPartPreparer<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>, boost::asio::executor>, std::allocator<void>>>' requested here
    _update_meta(fifo::update{}.journal_entries_add(jentries),
    ^
ceph/src/neorados/cls/fifo.h:1008:7: note: in instantiation of function template specialization 'neorados::cls::fifo::FIFO::_prepare_new_part<ceph::async::allocator_binder<boost::asio::executor_binder<(lambda at ceph/src/neorados/cls/fifo.h:1012:4), boost::asio::executor>, std::allocator<void>>>' requested here
      _prepare_new_part(
      ^
ceph/src/neorados/cls/fifo.h:524:7: note: in instantiation of function template specialization 'neorados::cls::fifo::FIFO::_prepare_new_head<ceph::async::allocator_binder<boost::asio::executor_binder<neorados::cls::fifo::FIFO::Pusher<spawn::detail::coro_handler<boost::asio::executor_binder<void (*)(), boost::asio::executor>, void>>, boost::asio::executor>, std::allocator<void>>>' requested here
      _prepare_new_head(std::move(p));
      ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:36 +08:00
Casey Bodley
0b22b85817 xlist: use friend instead of member operators
resolves a c++20 compilation error with clang 13:

In file included from ceph/src/client/Client.cc:55:
In file included from ceph/src/messages/MClientCaps.h:19:
In file included from ceph/src/mds/mdstypes.h:22:
ceph/src/include/xlist.h:212:27: warning: ISO C++20 considers use of overloaded operator '!=' (with operand types 'xlist<Dentry *>::const_iterat
or' and 'xlist<Dentry *>::const_iterator') to be ambiguous despite there being a unique best viable function with non-reversed arguments [-Wambiguous-reversed
-operator]
    for (const auto &item : list) {
                          ^
ceph/src/client/Client.cc:3299:63: note: in instantiation of member function 'operator<<' requested here
    ldout(cct, 20) << "link  inode " << in << " parents now " << in->dentries << dendl;
                                                              ^
ceph/src/include/xlist.h:202:10: note: candidate function with non-reversed arguments
    bool operator!=(const_iterator& rhs) const {
         ^
ceph/src/include/xlist.h:199:10: note: ambiguous candidate function with reversed arguments
    bool operator==(const_iterator& rhs) const {
         ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:35 +08:00
Casey Bodley
b779a1762e cpp-btree: Add alternative overload for btree:operator==
Silence Clang's C++20 -Wambiguous-reversed-operator.

cbodley took this from https://github.com/Kronuz/cpp-btree/pull/4
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:35 +08:00
Casey Bodley
cc063d5395 buffer: constrain conversions of buffers_t iterators
prevent conversions from const_iterator -> iterator to resolve a c++20
compilation error with clang 13:

ceph/src/include/buffer.h:537:18: error: use of overloaded operator '==' is ambiguous (with operand types 'ceph::buffer::list::buffers_t::const_iterator' (aka 'buffers_iterator<const ceph::buffer::ptr_node>') and 'ceph::buffer::list::buffers_t::iterator' (aka 'buffers_iterator<ceph::buffer::ptr_node>'
))
        _root.next = it == end() ? &item : _root.next;
                     ~~ ^  ~~~~~
ceph/src/include/buffer.h:471:7: note: candidate function
        bool operator==(const buffers_iterator& rhs) const {
             ^
ceph/src/include/buffer.h:471:7: note: candidate function (with reversed parameter order)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:35 +08:00
Casey Bodley
773dabfcd6 librados: stop using c++20 keyword 'requires'
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:35 +08:00
Casey Bodley
1caff73218 libradosstriper: remove template syntax from constructor
fixes compilation with -std=c++20:

/home/cbodley/ceph/src/libradosstriper/RadosStriperImpl.cc:424:65: error: expected ‘)’ before ‘*’ token
  424 |   StatCompletionData<TimeType>(libradosstriper::RadosStriperImpl* striper,
      |                               ~                                 ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-17 22:00:35 +08:00
Venky Shankar
69da8a88c0
Merge pull request #44795 from ajarr/dynamic-update-cephfs-nfs-export
mgr/nfs: allow dynamic update of cephfs nfs export

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-03-17 18:45:08 +05:30
Liu-Chunmei
6a1eb04741
Merge pull request #45271 from liu-chunmei/seastore-op-missing
crimson/seastore: add OP_RMATTR support

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-03-17 03:52:06 -07:00
Samuel Just
b124e1bf92
Merge pull request #45403 from liu-chunmei/crimson-reply-version
crimson: fix set_reply_versions missing

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-03-16 12:17:01 -07:00
Samuel Just
987465eea0
Merge pull request #45176 from liu-chunmei/crimson-teuthology
crimson: teuthology suite for seastore

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-03-16 12:06:04 -07:00
Yuri Weinstein
531e0bb816
Merge pull request #45402 from ceph/wip-yuri-master-crontab
qa/tests: fixed typo

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2022-03-16 08:25:51 -07:00
Ernesto Puerta
540dd11e7a
Merge pull request #45218 from rhcs-dashboard/feature-clusterLogs-searchHighlight
mgr/dashboard: highlight the search text in cluster logs

Reviewed-by: Sarthak0702 <NOT@FOUND>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: sunilangadi2 <NOT@FOUND>
2022-03-16 14:14:43 +01:00
Ernesto Puerta
f1ef0988da
Merge pull request #44843 from rhcs-dashboard/fix-Nan-undefined-host-columns
mgr/dashboard: fix columns in host table  with NaN Undefined

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2022-03-16 14:12:47 +01:00
Ernesto Puerta
b8ba5d0f37
Merge pull request #44751 from rhcs-dashboard/introduce-logging-containers
mgr/cephadm: introduce centralized logging in Dashboard using Loki and Promtail

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: rkachach <NOT@FOUND>
Reviewed-by: sunilangadi2 <NOT@FOUND>
Reviewed-by: umangachapagain <NOT@FOUND>
2022-03-16 14:06:55 +01:00
Venky Shankar
cac29ca70a
Merge pull request #45104 from rhcs-dashboard/cephfs-ernno-mapping
Add mapping for ernno:13 and adding path in error msg in opendir()/cephfs.pyx

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-03-16 15:45:14 +05:30
chunmei-liu
3675de78e8 crimson/seastore: add unittest for OP_RMATTR
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
2022-03-16 00:19:46 -07:00