Using dlopen() to load in ssl crypto makes me cringe.
Also it requires either installing the devel package,
or appending library versioning to the library name
civetweb tries to load, which is ugly. This is only
a license problem for people whose system distribution
does not include openssl.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
A local variable was used for an async callback operation,
resulting in the potential for memory corruption.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The ceph-base package contains files shared between the -mon, -osd, and
-mds. In other words, the MON, OSD, and MDS servers depend on ceph-base,
but ceph-base should not depend on the leaf packages.
Reported-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
It's possible, when delaying appends to the journal, that the
current commit position might be in object set X while future
events for a different offset might be in an object set < X.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd should treat the corruption of the journal differently from
missing journal entries. If entries are missing, it might be the
result of a crash and the journal should just be replayed through
the most recent, consistent entry.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This allows the http client to turn off ssl certificate peer checking,
which is turned on by default. This is useful in cases like when
Keystone is SSL terminated with a self signed certificate.
The option `rgw_keystone_verify_ssl` (default true) can be toggled if
self signed certs are used, so that swift and s3 apis using keystone
authentication can work.
Fixes: #14583
Reported-by: Karol Mroz <mroz.karol@gmail.com>
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
this removes the dependency on RGWPeriod from rgw_rados.h, which breaks
a circular dependency between rgw_rados.h -> rgw_metadata.h ->
rgw_period_history.h -> rgw_rados.h
Reported-by: Willem Jan Withagen <wjw@digiware.nl>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
According to Linux man page, the system call read() may return zero to indicate
that end of file reached on success. So below here we need to convert the result
code to a customized one in this case as errno is not set and we actually want
let caller know something is going wrong.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
There was a missing condition that caused to calculate outgoing message
header CRC even if CRC checking was disabled in Ceph configuration.
This change fixes that.
Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
this piece of code creates a SEGV from logging code to verify a
bug fix at e3fe18a.
clang will delete the null-referencing code. so we need to either
- pass -Wnonull-dereference to $(CC)
- or use __builtin_trap() offered by GCC/clang
- or use `volatile`
seems volatile is easier and probably more portable.
Fixes: #14856
Signed-off-by: Kefu Chai <kchai@redhat.com>
Using a MOSDPGLog was unsafe since it is not ordered with
respect to repops. Instead, use a new message sent through
the same paths as repops.
Signed-off-by: Samuel Just <sjust@redhat.com>
The existing FileJournal::throttle_(ops|bytes) throttles overlap with
the FileStore op queue throttles. It doesn't seem important whether
pending ops are waiting on the journal or the backing fs, so the
FileJournal ones are out. Instead, there is now a throttle which
is taken in queue_transaction and released in _committed_thru
(after sync) which reflects the current fullness of the journal
and gradually delays ops as the journal fills up. The intention is
to smooth out workloads on small journals.
Signed-off-by: Samuel Just <sjust@redhat.com>
Using the throttle here is sketchy, mainly because we won't wake
up if something new is queued. Let's do it explicitely.
Signed-off-by: Samuel Just <sjust@redhat.com>