Because it may not have permission to when running in a container and
scripts run from source are not expected to modify anything outside of
the source tree anyway.
Signed-off-by: Loic Dachary <loic@dachary.org>
Detected during an fsx run where a refresh and CoR were occurring
concurrently. The refresh held the snap_lock and was waiting on
the object_map_lock, while the CoR held object_map_lock and was
waiting for snap_lock.
Fixes: #11577
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When running tests in parallel with make -jX, the ulimit -u (number of
processor / thread per user) needs to be at least X * 1024. If not it
will fail in mysterious ways. Since there is no convenient way to figure
out the value of X ( see
http://blog.jgc.org/2015/03/gnu-make-insanity-finding-value-of-j.html
for a non trivial an entertaining solution) add a very conservative
check that assumes the user will run make -jX where X is nproc / 2.
It will be annoying for users who want to run make check, not use -j,
and have a low ulimit -u. But the error suggest a way to override this
with
make CHECK_ULIMIT=false check
This is a minor irritation compared to the puzzling behavior of make
check when ulimit is exceeded.
http://tracker.ceph.com/issues/11532Fixes: #11532
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Previously, on an error such as a pool not existing,
the caller doing the check would error out, but
anyone waiting on waiting_for_pool_perm would
block indefinitely (symptom was that reads on a
file with a bogus layout would block forever).
Fix by triggering the wait list on errors and
clear the CHECKING state so that the other callers
also perform the check and find the error.
Additionally, don't return the RADOS error code
up to filesystem users, because it can be
misleading. For example, nonexistent pool is
ENOENT, but we shouldn't give ENOENT on IO
to a file which does exist, we should give EIO.
Signed-off-by: John Spray <john.spray@redhat.com>
ObjBencher::aio_bench sets data.finished to num_objs but it should be
set to zero since it reflects the number of objects read /
written. That's what the read bench do and the write bench should do the
same. It does not cause a problem, it is just confusing.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Add nss and nspr include dirs to CXX_FLAGS if all dependencies
are found.
the ceph-authtool target needs also ${CRYPTO_LIBS}.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Libnss needs also to check for libnspr and add the related
-l targets to CRYPTO_LIBS, otherwise the build will fail.
Make sure USE_NSS is set correctly to 0 if cryptopp found
and in case nss was found set USE_CRYPTOPP also to 0.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
The nss lib needs the nspr library to build. Add file to
get the nspr lib/includes from the pc file.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* Explain the development cycle and stable release cycle
* Replace the 18 month duration with the LTS+2 overlap logic
* Explain that the estimated retirement is an educated guess
that depends on the stable release frequency
* Replace Support with Stable in LTS to avoid confusion with
professional services
* Do not promise bugs will be handled, only that they will be triaged
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The modified copyup behavior will need to update snapshot object
maps when performing a copyup since the object will now exist within
all snapshots of the image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When the deep-flatten feature is enabled, the remove_parent
class method should also remove the parent from all snapshots.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>