If librados constructs the CephContext, lockdep will be initialized
in both the librados shared address space and also within the app
address space. This breaks lockdep's functionality and results in
a crash upon shutdown.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Avoid keeping the metadata object alive through the lifespan of the
future. Callers can expect to receive a re-entrant callback if the
future is already safe and flush/wait is invoked.
Fixes: http://tracker.ceph.com/issues/15364
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If we're using bluefs, only pass in the short relative
path (db, db.wal, db.slow). The leading components
are ignored and only lead to errors if the configuration
provides relative paths that do not match (e.g., if one
if using ceph-objectstore-tool).
Fixes: http://tracker.ceph.com/issues/15376
Signed-off-by: Sage Weil <sage@redhat.com>
Don't use this config option in librbd until
http://tracker.ceph.com/issues/15034 is avoided.
The option itself is still useful for mirroring threads, where
ordering is unimportant.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Implement the full object permission model for librgw (aka, NFS
and similar) operations.
Fixes DIRS1 unit tests.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
If a caller does an atomic create using rgw_lookup() and
RGW_LOOKUP_FLAG_CREATE, it needs to fix up the attributes using
create_stat().
For use outside of test cases, it probably needs an interlock also,
but for now, do just enough to satisfy existing attribute checks.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Gentoo's normal build process uses a sandbox to catch writes outside the
build environment; this includes providing a value other than /tmp for
TMPDIR. Use TMPDIR by default for CEPH_BUILD_VIRTUALENV.
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
If you data pool was pool 0, this was transforming
that to -1 unconditionally, which broke upgrades. We
only want do that for a fully zeroed ceph_file_layout,
so that it still maps to a file_layout_t. If any fields
are set, though, we trust the fl_pgpool to be a valid
pool.
Signed-off-by: Sage Weil <sage@redhat.com>
If systemd has task accounting enabled, a default of 512 tasks
will be applied to all systemd units.
For ceph, this is way to low even for a modest cluster, so stop
this restriction being applied and allow administrators to apply
limits using sysctl.
Signed-off-by: James Page <james.page@ubuntu.com>
You cannot tell from the old bdev vector which device
was which.
- use a fixed id for each type/slot
- go from fast(small) to slow(big)
- normalize the allocation fallback to try any slower
device.
- clean up the BlueStore instantiation/setup accordingly
Signed-off-by: Sage Weil <sage@redhat.com>
Otherwise, all you see is errors about the probes that failed (e.g., a
failure to decode a non-bluestore superblock as bluestore).
Signed-off-by: Sage Weil <sage@redhat.com>