Commit Graph

130544 Commits

Author SHA1 Message Date
Venky Shankar
4070f734ee
Merge pull request #45924 from rishabh-d-dave/qa-cephfs-test_cephfs_shell
qa/cephfs: expand note for test_cephfs_shell.py

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-18 15:02:55 +05:30
Venky Shankar
fa57a1c180
Merge pull request #45923 from rishabh-d-dave/doc-fix-note
doc/developer_guide: split a note point into two

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-18 13:28:46 +05:30
Rishabh Dave
bc02c3c7e9 qa/cephfs: expand note for test_cephfs_shell.py
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2022-04-18 13:15:10 +05:30
Venky Shankar
1ac01c60df
Merge pull request #45816 from kotreshhr/clone-failure-status
mgr/volumes: Show clone failure reason in clone status command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-18 09:43:40 +05:30
Rishabh Dave
f5974d3993 doc/developer_guide: split a note point into two
Since both the sentences in the note point aren't strictly related to
each other, it's better to split that note point into two.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2022-04-17 22:53:09 +05:30
Venky Shankar
144f6fd7e0
Merge pull request #45114 from lxbsz/wip-54362
client: do not release the global snaprealm until unmounting

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-17 15:24:57 +05:30
Venky Shankar
7879e86f50
Merge pull request #45688 from lxbsz/fwd
client: stop forwarding the request when exceeding 256 times

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-17 15:23:15 +05:30
Venky Shankar
baf2f09b5f
Merge pull request #45107 from lxbsz/wip-54345
mds: reset heartbeat when fetching or committing dentries

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-16 20:50:17 +05:30
Laura Flores
c1b0ecc499
Merge pull request #45915 from ljflores/wip-dashboard-cypress-password 2022-04-15 23:58:58 -05:00
Laura Flores
cf6feab179 mgr/dashboard/frontend: fix cypress env password
"LOGIN_PASSWORD" should be "LOGIN_PWD". Bug introduced
in e9128c4.

Fixes: https://tracker.ceph.com/issues/55323
Signed-off-by: Laura Flores <lflores@redhat.com>
2022-04-15 22:15:25 +00:00
Adam King
5360de431d
Merge pull request #45765 from m-ildefons/1196785-cephadm-status-trace
cephadm: avoid crashing on expected non-zero exit

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2022-04-15 11:05:05 -04:00
Adam King
44a13a209f
Merge pull request #45863 from adk3798/mgr-fail-retry
mgr/cephadm: retry mgr fail over in case of transient failure

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2022-04-15 11:02:55 -04:00
Ilya Dryomov
eca40854e7
Merge pull request #45898 from idryomov/wip-resurrect-mutex-debug
cmake: resurrect mutex debugging in all Debug builds

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-04-15 11:09:42 +02:00
Xiubo Li
5117136583 client: do not release the global snaprealm until unmounting
The global snaprealm would be created and then destroyed immediately
every time when updating it.

Fixes: https://tracker.ceph.com/issues/54362
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2022-04-15 10:51:31 +08:00
Ali Maredia
5c1c754ecd
Merge pull request #45394 from iqbalredkhan/amrojiqbal
cls/rgw : Add missing classes in < #include "cls/rgw/cls_rgw_types.h">

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2022-04-14 09:35:00 -04:00
Xiubo Li
ad61e1dd1a client: stop forwarding the request when exceeding 256 times
The type of 'num_fwd' in ceph 'MClientRequestForward' is 'int32_t',
while in 'ceph_mds_request_head' the type is '__u8'. So in case
the request bounces between MDSes exceeding 256 times, the client
will get stuck.

In this case it's ususally a bug in MDS and continue bouncing the
request makes no sense.

Fixes: https://tracker.ceph.com/issues/55129
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2022-04-14 20:13:19 +08:00
Venky Shankar
b4ea90ad82
Merge pull request #45549 from nmshelke/fuse-linux-only
ceph-fuse: restrict already_fuse_mounted function only for linux

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-14 17:38:20 +05:30
Venky Shankar
8316aa95fc
Merge pull request #45636 from joscollin/wip-B54971-rank0-stale-perf-stats-assertion-error
qa: make test_perf_stats_stale_metrics check only the clients created for the tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-14 17:36:42 +05:30
Venky Shankar
3ca23d6791
Merge pull request #45663 from lxbsz/client_cleanup_dl
client: remove expect_null and cleanup the code get_or_create()

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-14 17:34:31 +05:30
Venky Shankar
1380b565b8
Merge pull request #45683 from kotreshhr/subvolume-retainsnap-rm-fix
mgr/volumes: Fix idempotent subvolume rm

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-04-14 17:31:46 +05:30
Ilya Dryomov
88e22f1c56
Merge pull request #45897 from idryomov/wip-rbd-mirror-test-timer-lock
test/rbd_mirror: grab timer lock before calling add_event_after()

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2022-04-14 07:50:15 +02:00
Anthony D'Atri
e96703fb9d
Merge pull request #45571 from rzarzynski/wip-doc-mempool-acct
doc/dev: Define what mempools we use in BlueStore
2022-04-13 19:18:26 -07:00
Yuri Weinstein
636bba68ff
Merge pull request #45884 from markhpc/wip-bs-avl-cursor-fix
os/bluestore: Always update the cursor position in AVL near-fit search.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2022-04-13 16:18:47 -07:00
Adam King
3fe2d7d553 mgr/cephadm: retry mgr fail over in case of transient failure
Fixes: https://tracker.ceph.com/issues/55279

Signed-off-by: Adam King <adking@redhat.com>
2022-04-13 18:05:06 -04:00
Anthony D'Atri
d48f7fe90e doc/dev: define what mempools we use in bluestore
doc/dev: define what mempools we use in bluestore

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
2022-04-13 14:59:34 -07:00
Adam King
0a728bd920
Merge pull request #45851 from rkachach/fix_issue_53528
mgr/cephadm: skip loopback devices when gathering facts

Reviewed-by: Adam King <adking@redhat.com>
2022-04-13 14:34:41 -04:00
Adam King
dc827e5f73
Merge pull request #45796 from asm0deuz/issue_54618_ssh_config
mgr/cephadm: ceph cephadm set-user does not reflect the user change in ssh-config

Reviewed-by: Adam King <adking@redhat.com>
2022-04-13 14:34:06 -04:00
Adam King
d7db62e07a
Merge pull request #45768 from rkachach/fix_issue_55174
mgr/cephadm: Adding cephadm networking configuration checks + refactoring

Reviewed-by: Adam King <adking@redhat.com>
2022-04-13 14:33:21 -04:00
Adam King
bc1a08c3d0
Merge pull request #43796 from windgmbh/cephadm-sysctl-fhs-fix
cephadm: Fix sysctl.d location

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2022-04-13 14:24:36 -04:00
Moritz Röhrich
a02be6f22f
cephadm: avoid crashing on expected non-zero exit
- Avoid crashing when a call out to an external program expectedly does
  not return exit status zero.

There are programs that communicate other information than error/no
error through exit status. E.g. `systemctl status` will return different
exit codes depending on the actual status of the units in question.
In cases where this is expected crashing with a RuntimeError exception
is inappropriate and should be avoided.

Fixes: https://tracker.ceph.com/issues/55117
Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
2022-04-13 17:22:22 +02:00
Ilya Dryomov
226e614c95 cmake: resurrect mutex debugging in all Debug builds
Commit 403f1ec288 ("cmake: make "WITH_CEPH_DEBUG_MUTEX" depend on
CMAKE_BUILD_TYPE") made WITH_CEPH_DEBUG_MUTEX depend on build type
being set to Debug, in CMakeLists.txt.  However, if CMAKE_BUILD_TYPE
isn't specified by the user, we may still set it to Debug later, in
src/CMakeLists.txt, and in that case WITH_CEPH_DEBUG_MUTEX doesn't
get enabled.  The result is that

  $ do_cmake.sh -DCMAKE_BUILD_TYPE=Debug ...

debug builds have mutex debugging enabled, while

  $ do_cmake.sh ...

builds, which are supposed to be the same, don't.  Jenkins builders
don't pass -DCMAKE_BUILD_TYPE=Debug so that commit effectively turned
off all ceph_mutex_is_locked* asserts in "make check".

Fixes: https://tracker.ceph.com/issues/55318
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2022-04-13 15:42:21 +02:00
Ilya Dryomov
60e1610683 test/rbd_mirror: grab timer lock before calling add_event_after()
add_event_after() expects an externally provided mutex to be held
for the call.  This was missed in commit 8965a0f2a6 ("rbd-mirror:
synchronize with in-flight stop in ImageReplayer::stop()").

Fixes: https://tracker.ceph.com/issues/55317
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2022-04-13 15:28:05 +02:00
Ernesto Puerta
247dc597d1
Merge pull request #45859 from rhcs-dashboard/add-cypress-env
mgr/dashboard: Add cypress env for login credentials

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2022-04-13 14:09:21 +02:00
Ilya Dryomov
85ec4d6ebd
Merge pull request #44236 from CongMinYin/fix-pwl-cache-lose
rbd: add persistent-cache command group

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2022-04-13 12:12:51 +02:00
Kotresh HR
555d361063 doc: Document the clone failure status
Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2022-04-13 14:26:28 +05:30
Kotresh HR
cfd8d63e01 mgr/volumes: Fix clone hang issue
Following sequence of operation lead to deadlock

1. Created subvolume
2. Written some I/O on the subvolume
3. Create snapshot of the subvolume
4. Create clone of the snapshot
5. Delete snapshot from back end (don't use subvolume interface) before
   clone completes
6. Delete clone with force
7. Delete subvolume
8. Delete fs and associated pools
9. Created new fs
10 Created new subvolume,
11. Written some I/O on the subvolume
12. Create snapshot of the subvolume
13. Create clone of the snapshot <---------------THIS OPERATION HANGS -----------------

Root Cause:
Since the snapshot is deleted from the back end, the clone fails. But it
also fails to remove the clone index at '/volumes/_index/clone'. The
cloner thread goes to infinite loop of starting the clone and failing.
This involves taking 'self.async_job.lock()' and reads the clone index
to get the job and registers the above job.

While the 'cloner thread' is in above loop, the fs is destroyed. The
cloner threads which lives till the mgr/volumes is enabled in mgr, takes
the 'self.async_job.lock()' and hangs while reading the clone index.

Any further clone operations which also requires above lock hangs.

Fix:
Remove the clone index even though snapshot is not present.

Fixes: https://tracker.ceph.com/issues/55217
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2022-04-13 14:26:24 +05:30
Kotresh HR
916a5981cf qa: Add test for clone failure status
Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2022-04-13 14:26:20 +05:30
Kotresh HR
e0ba36f334 mgr/volumes: Add clone failure reason in clone status
Add the clone failure reason in the clone status.
The sample output is as below:

$ ceph fs clone status cephfs clone_0
{
  "status": {
    "state": "failed",
    "source": {
      "volume": "cephfs",
      "subvolume": "subvolume_0",
      "snapshot": "snapshot_0",
      "size": "52428800"
    },
    "failure": {
      "errno": "2",
      "error_msg": "snapshot 'snapshot_0' does not exist"
    }
  }
}

Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2022-04-13 14:26:06 +05:30
Ernesto Puerta
c160e1e205
Merge pull request #45059 from ceph/wip-merge_message_browser-master
doc: browser extension for merge message

Reviewed-by: Nizamudeen A <nia@redhat.com>
2022-04-13 10:37:30 +02:00
Ernesto Puerta
492a772d43
Merge pull request #45081 from ceph/epuertat-patch-2
doc: fix format issues

Reviewed-by: anthonyeleven <NOT@FOUND>
Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
2022-04-13 10:37:18 +02:00
Ernesto Puerta
a2de0b20e7
Merge pull request #45083 from ceph/epuertat-patch-4
doc: fix config option links

Reviewed-by: anthonyeleven <NOT@FOUND>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2022-04-13 10:37:01 +02:00
Samuel Just
1546d558bd
Merge pull request #45574 from cyx1231st/wip-crimson-refactor-with-device
crimson/os/seastore: introduce the generic Device class

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-04-12 22:05:43 -07:00
Samuel Just
3a21a91528
Merge pull request #45775 from liu-chunmei/seastore-zero
crimson: seastore add OP_ZERO support

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
2022-04-12 20:20:54 -07:00
Mark Nelson
3bed53debf os/bluestore: Always update the cursor position in AVL near-fit search.
Signed-off-by: Mark Nelson <mnelson@redhat.com>
2022-04-13 00:53:56 +00:00
Samuel Just
d06ce17625 crimson: Implement ObjectDataHandler::zero using hole punching
Trim already treats Reserved regions as zero, let's use that
for zero as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-04-12 17:49:03 -07:00
Samuel Just
88319b475f crimson/os/seastore/object_data_handler: don't return empty buffers from split_pin*
Always return std::nullopt rather than an empty buffer -- this way users
can rely on this as an invariant.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-04-12 17:48:52 -07:00
Samuel Just
76e9262efb test/crimson/seastore: improve test_seastore zero() coverage
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-04-12 17:48:45 -07:00
chunmei-liu
b392b2a141 crimson: add seastore::zero unit test
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
2022-04-12 17:48:39 -07:00
chunmei-liu
31dcd54dff crimson: seastore add OP_ZERO support
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
2022-04-12 17:48:31 -07:00
Yuri Weinstein
ed556e6bc9
Merge pull request #45756 from rzarzynski/wip-common-no-cpp17-second_round
common/bl: fix FTBFS on C++11 due to C++17's if-with-initializer

Reviewed-by: Kefu Chai <kchai@redhat.com>
2022-04-12 13:51:58 -07:00