* refs/pull/38742/head:
doc/cephfs/nfs: Add more details about path and pseudo path
doc/cephfs/nfs: Add note about how to fetch port details with rook
doc/cephfs/nfs: Add warning note about management of dashboard created exports
Reviewed-by: Rishabh Dave <ridave@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Jeff Layton <jlayton@redhat.com>
Jan Fajerski [Tue, 5 Jan 2021 11:50:37 +0000 (12:50 +0100)]
Merge PR #32776 into master
* refs/pull/32776/head:
win32*.sh: fetch WNBD dependency
win32*.sh: bump win32 boost dependency
cmake: skip osd, Lua and neorados on Windows
win32*.sh: improve lib handling
win32*.sh: update openssl location
win32*.sh: cleanup dependency build dir when targetting Windows
win32*.sh: Strip binaries individually
win32*.sh: Cleanup zip archive creation
cmake,win32*.sh: Add OS=(ubuntu|suse) flag, for distro settings
win32*.sh: Use nproc for CPU count when targeting win32
test: Include compat.h to find uid_t/gid_t/gidlist when cross compiling
win32*.sh: improve win32 dependency check
win32*.sh: isolate network operations when building win32 dependencies
cmake: drop Python dependency when targeting Windows
win32*.sh: cleanup Windows build script
win32*.sh: fix patch command
win32*.sh: update Windows build scripts and readme
Kefu Chai [Sun, 3 Jan 2021 17:15:54 +0000 (01:15 +0800)]
cmake: only display the result of checking nasm once
if nasm is able to emit AVX512 instructions, we can assume that it's
able to generate AVX2 instructions as well. so no need to print "Found
nasm" multiple times.
and by chaining mutual exclusive branches with "elseif", we can have
better readability.
Jason Dillaman [Tue, 22 Dec 2020 18:36:57 +0000 (13:36 -0500)]
librbd/migration: optionally pull S3 keys from MON config store
This allows the S3 keys to be better protected since the MON can
be configured to restrict access to keys by user and the results
can be encrypted in transit.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 22 Dec 2020 18:34:51 +0000 (13:34 -0500)]
librbd: helper utility to retrieve config from the MON config store
A special "config://" URI prefix can be used to denote configuration
settings that should be (securely) pulled from the MON config store.
This will be first used in a follow-up commit to support storing
the S3 access and secret keys in the MON config store.
This "config://" syntax is already in-use by RGW and ceph-iscsi for
pulling secrets when deployed via cephadm.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 22 Dec 2020 14:46:04 +0000 (09:46 -0500)]
librbd/migration: require snapshot when importing from native source
Since we cannot mark the source image read-only when running in import-only
migration mode, we should require the user to provide a snapshot to ensure
that data cannot change while the migration is running.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Zac Dover [Wed, 30 Dec 2020 10:20:41 +0000 (20:20 +1000)]
doc/dev: restructure basic-workflow.rst
- Rewrote a sentence about forking.
- s/exactly how to proceed/how to proceed/
- Changed titles to present participles
- Rewrote "Fixing the Bug Locally" to improve its elegance.
Xuehan Xu [Tue, 29 Dec 2020 04:06:43 +0000 (12:06 +0800)]
crimson/osd: do not splice osd_op indata
As each osd_op's indata holds only its own data, there's no need to drop their it.
On the other hand, indata is still needed when osd_op needs to be redone in case of
acting set change.
Avan Thakkar [Thu, 17 Dec 2020 09:44:46 +0000 (15:14 +0530)]
mgr/dashboard: Fix for copy2Clipboard failing to copy on the first time.
Fixes: https://tracker.ceph.com/issues/48601 Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Fix for the copy2Clipboard button to work on the first click itself.
Compile error is encountered when HAVE_LEVELDB_FILTER_POLICY is not
defined.
/ceph/src/kv/LevelDBStore.cc: In member function 'int LevelDBStore::load_leveldb_options(bool, leveldb::Options&)':
/ceph/src/kv/LevelDBStore.cc:96:22: error: invalid initialization of reference of type 'const string& {aka const std::__cxx11::basic_string<char>&}' from expression of type 'bool'ceph_abort_msg(0 == "bloom size set but installed leveldb doesn't support bloom filters");
~~^~~~
/ceph/src/include/ceph_assert.h:90:69: note: in definition of macro 'ceph_abort_msg'
::ceph::__ceph_abort( __FILE__, __LINE__, __CEPH_ASSERT_FUNCTION, msg)
^~~
/ceph/src/include/ceph_assert.h:62:19: note: in passing argument 4 of 'void ceph::__ceph_abort(const char*, int, const char*, const string&)'
[[noreturn]] void __ceph_abort(const char *file, int line, const char *func,
^~~~~~~~~~~~
src/kv/CMakeFiles/kv.dir/build.make:130: recipe for target 'src/kv/CMakeFiles/kv.dir/LevelDBStore.cc.o' failed
Signed-off-by: Jerry Lee <leisurelysw24@gmail.com>
Patrick Donnelly [Thu, 24 Dec 2020 04:20:09 +0000 (20:20 -0800)]
Merge PR #38668 into master
* refs/pull/38668/head:
osdc: Fix return type of map waiting functions
monc: Use post rather than defer
common/async: Hold lock in constructor of blocked_result
osdc: Don't keep wrapping completion in wait_for_latest_osdmap
neorados: Replace unsafe uses of dispatch with post
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Venky Shankar [Wed, 23 Dec 2020 05:14:31 +0000 (00:14 -0500)]
test: move snap delete operation to non-root directory
In teuthology, root directory in a Ceph Filesystem is owned
by root (0:0) and has sticky-bit enabled. Snapshots created
on the directory carry its UID/GID and mode.
This causes tests that remove snapshots on root directory to
fail. Sticky bit on a directory gives permission to delete a
file in that directory only if you own the file.
Venky Shankar [Wed, 23 Dec 2020 11:34:22 +0000 (06:34 -0500)]
client: optionally check client permission on rmsnap()
By default, Client::rmsnap() skips checking client permissions.
This was ok till now since it was not a user facing API (via
libcephfs).
With PR #37721 ("mds: store custom metadata on snapshot creation"),
rmsnap can be invoked via ceph_rmsnap() libcephfs call. Therefore,
the usual client side permission checks should be performed before
calling out to the MDS.
Kefu Chai [Wed, 23 Dec 2020 09:21:35 +0000 (17:21 +0800)]
test/crimson: add abort timer to messenger test
Use a 120s timer to force abort the messenger test which should normally
succeeds in 60s, in order to:
* Fail the make check to print logs about where it is blocking;
* Free the listening IP address for the next make check;
Patrick Donnelly [Tue, 22 Dec 2020 20:58:11 +0000 (12:58 -0800)]
Merge PR #37721 into master
* refs/pull/37721/head:
test: add tests for new snapshot APIs
pybind/cephfs: python bindings for new snapshot APIs
client: Snapshot cephfs APIs
mds: include snapshot metadata in trace reply to client
mds: include snap metadata on-disk on snapshot creation
mds: include metadata in SnapInfo structure
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Zac Dover [Thu, 19 Nov 2020 14:18:51 +0000 (00:18 +1000)]
doc/dev: update unit-tests tox section
This commit
- alters the structure of the
unit-test section of the Developer Guide
that discusses the tox tool, which is
used to run certain unit tests
- corrects some grammar
- updates the list of locations of tox.ini
files
- This also incorporates N. Cutler's suggestions.
Kefu Chai [Mon, 21 Dec 2020 17:07:37 +0000 (01:07 +0800)]
include/denc: use pair<const K,V> in range-based for loop
map<K,V>::value_type is pair<const K, V>, so if we use range-based for
loop when iterating through a map, we should use pair<const K,V> instead
of pair<K,V>, the latter also compiles, but it might create a temporary
object of pair<K,V> from pair<const K,V>. GCC-11 complains at seeing
this:
../src/include/denc.h:1002:21: warning: loop variable ‘e’ of type ‘const T&’ {aka ‘const std::pair<OSDPerfMetricQuery, OSDPerfMetricReport>&’} binds to a tem\
porary constructed from type ‘const std::pair<const OSDPerfMetricQuery, OSDPerfMetricReport>’ [-Wrange-loop-constru
ct]
1002 | for (const T& e : s) {
| ^
this change
* use the value_type of container in `maplike_details<Container>`,
so we can avoid the overhead of creating temporay objects when
encoding a map
* define denc_traits for std::pair<const A, B> as well, so the elements
of a map can be encoded using denc facility