This commit introduces internal (not yet part of the api) librbd functions for:
1. formating an RBD image in LUKS format
2. parsing an RBD image in LUKS format
The actual implementation of the LUKS format is done via libcryptsetup, which is added as a new dependency.
Signed-off-by: Or Ozeri <oro@il.ibm.com>
The new S3 stream requires a fully qualified URL to a bucket
(i.e. no virtual host names) along with the access and secret
keys to the bucket.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Move the processing of common HTTP result codes (not found, permission
denied, etc) higher up the stack so it can be re-used between all
request paths.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The S3 authentication scheme requires adding additional headers to the
outbound request as well as computing a secure signature for the request
using the secret key.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
With CEPHX_V2 authorizer challenges brought back in commit
4a82c72e3b, these need to be bumped again, as two authorizers
(without and then with the challenge) are transmitted and signed
instead of one (without the challenge). See commit 94953dd939
("msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing")
for details.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Convert the `back` input event into a `backAction` output
event in order to be a bit more flexible with implementing
th actual back action.
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
Especially for the tools or the daemons whose config options need
to expand the '$pid', they will be always expanded with the parent
processes. We need to reexpand them in child processes just after
the fork is done.
Fixes: https://tracker.ceph.com/issues/48240
Signed-off-by: Xiubo Li <xiubli@redhat.com>
At the moment, "rbd-wnbd" says that "help" is an unsupported command,
only "rbd-wnbd -h" works. This isn't very user friendly.
Although "rbd-wnbd" isn't supposed to be used directly in most cases,
users might want to retrieve device specific arguments that can be
passed using "rbd device -o".
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
With the new queue-based GC code, when a GC defer operation is
performed, it adds an "urgent" record to prevent GC from removing
objects that are still being read. It does not check whether the
objects are on the GC queue or not and that's OK for the urgent
record.
The code *also* adds a new GC entry to the queue to cause GC to occur
at a later time. This would be incorrect if there was no GC entry to
begin with, however. In such a case this would cause GC to delete tail
objects when no user-initiated remove has happend. In other words a
READ could cause a DELETE of tail objects and therefore data loss.
This fix prevents such a new GC entry from being enqueued, thus
preventing the data loss in this rare case. There is a new risk that
tail object orphans to be created, but as an immediate fix to prevent
data loss, this is appropriate and it is a rare event. A follow-on PR
that will handle these cases is likely.
This PR adds a level 0 log entry as a way to potentially confirm this
case is being triggered in real-world cases. In time, this log entry
should be deleted.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
some code under test use formatter to output, but Formatter *f
was not freed like elsewere. So use unique_ptr to avoid this.
Signed-off-by: haoyixing <haoyixing@kuaishou.com>
mgr/dashboard: RBD: Disable actions when name is not valid
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>