This implements low-level IO engine, which utilizes brand-new
io_uring IO interface: https://lwn.net/Articles/776428/
By default libaio is used. If bluestore_ioring=true is set but kernel
does not support io_uring or architecture is not x86-64, libaio will be
used instead.
In current patch liburing library is used in order not to open code
everything.
In order to compile with liburing WITH_LIBURING=ON should be specified.
Signed-off-by: Roman Penyaev <rpenyaev@suse.de>
In the next patch new io_uring API will be used instead of libaio.
So this prepares the abstract interface.
Signed-off-by: Roman Penyaev <rpenyaev@suse.de>
* refs/pull/32124/head:
doc/cephfs/disaster-recovery-experts: Add link for scrub and note for scrub_path
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/31489/head:
pybind/rados: add WriteOp::writesame() and test WriteOp::writesame()
pybind/rados: add Ioctx::aio_writesame() and test Ioctx::aio_writesame()
pybind/rados: add Ioctx::writesame() and test Ioctx::writesame()
Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
* refs/pull/31907/head:
mgr/dashboard: properly handle a missing rbd-mirror service status
mgr: cull service daemons when the last instance has been removed
mgr: ensure new daemons are properly indexed by hostname
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
"rbd snap rollback" expects an unlocked image, but we may get there
locked if object map is enabled (or if lock_on_read is specified in
rbd_default_map_options).
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Since 5.3:
- a plain "rbd map" acquires the lock, so it's not different from
"rbd map -o exclusive" in this regard
- if the lock is held by the exclusive peer, I/O is failed right away
instead of blocking
- lock_timeout option is respected only by "rbd map" and not by I/O
Since 5.5:
- if the mapping is read-only, the lock isn't acquired
Added blacklisting test case, dropped lock_timeout test case.
Fixes: https://tracker.ceph.com/issues/43127
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
chown allows strings as per bbbfb44453,
which caused this error. Eventhough uid/gid are input as CephInt, the
qa tests can pass in only string values to _fs_cmd. So try converting
the incoming uid/gid to int in create_subvolume and create_group.
It might be a valid string.
Fixes: https://tracker.ceph.com/issues/43038
Signed-off-by: Jos Collin <jcollin@redhat.com>
The py2 ConfigParser doesn't like whitespace before the config option
name. (The py3 version doesn't care.) Filter it out before parsing.
Signed-off-by: Sage Weil <sage@redhat.com>
mgr/dashboard: add smartctl data as a details tab of a host
Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
I thought I took this out of the PR but somehow it got merged in... must
have repushed and old branch and not realized. :/
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/32101/head:
mgr/orchestrator_cli: make rgw rm take realm+zone
qa/tasks/mgr/test_orchestrator_cli: fix rgw add test
Reviewed-by: Sebastian Wagner <swagner@suse.com>
We are seeing a hang on centos7 (but not ubuntu 18.04) from
from .predictor import get_diskfailurepredictor_path
in _predict_life_expentancy.
Doing that same predictor import at the top of the file doesn't help--it
hangs right when the diskpredictor_local module is loaded. Commenting
out the import scipy in predictor.py avoids the hang.
I'm not sure why, but doing the full scipy import here appears to work
around the problem.
Fixes: https://tracker.ceph.com/issues/42764
Signed-off-by: Sage Weil <sage@redhat.com>