./include/encoding.h:317:7: warning: 't' may be used uninitialized in
this function [-Wmaybe-uninitialized]
Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
Reviewed-by: Sage Weil <sage@redhat.com>
* Update the remaining Message::encode() calls, which now expect crc
flags to be passed as a flags parameter instead of a bool (this e.g.
fixes the issue with routing messages forwarded from an older client).
* In Message::encode() data crc is calculated when MSG_CRC_DATA is
set, but in decode_message(), Pipe::read/write_message() data crc is
calculated when MSG_CRC_HEADER is set. Fix this.
Note, 2ffacbe changed the behavior of Pipe::read_message/write_message():
previously the methods always calculated crc, now they calculate it
only if crc is enabled in the config. This means crc can not be disabled
if there are monitors of older version in the cluster.
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
Reviewed-by: Sage Weil <sage@redhat.com>
The babeltrace package is not found on wheezy, not just squeeze.
Fix the regular expression that incorrectly replaced
libbabeltrace-ctf-dev with -ctf-dev leading to a strange error
E: Opening configuration file tf-dev - ifstream::ifstream (2: No such file or directory)
when running apt-get install.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The TODO was a reminder to integrate with the watch/notify
error handler. This integration was already completed under
previous commits.
Fixes: #8903
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The object map wasn't being properly refreshed after setting
the snapshot context on the parent image. Additionally fixed
a potential deadlock that could have occurred if no object
map update was required when trimming an image.
Fixes: #10706
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
When the librados watcher fails, librbd will now continuously
attempt to re-register the watch until it succeeds or the image
is closed.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If a cloned image was shrunk, it was possible for a copyup
to be performed on objects outside of the new image range.
Resize now pre-shrinks the parent overlap to disable copyup
when removing objects.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
According to the manual 'mount -f' adds an entry in /etc/mtab.
Therefore the 'mount -v' command needs the flag -n to avoid
duplicate entries in /etc/mtab.
Signed-off-by: Karel Striegel <karel@striegel.be>
The object_map_resize sanity check ensures that a resize will
not erase state for an in-use object. The check was incorrectly
including a block within the new object map range.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The AioRemove state machine is not properly advanced from
_PRE to _FLAT. This will result in an infinite state machine
loop.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
If exclusive locking was enabled, the librbd aio_flush command
would block waiting for queued AIO operations to proceed once
the exclusive lock was obtained. Now librbd will no longer
block when aio_flush is invoked and AIO operations are waiting
on the exclusive lock.
Fixes: #10714
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
A circular reference was inadvertently created when using the
CFUNCTYPE binding for callbacks for the asynchronous i/o callbacks.
This commit refactors the usage of the callbacks such that the
Ioctx object does not have a class reference to the callbacks.
Fixes: #10723
Backport: giant, firefly, dumpling
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Reviewed-by: Dan Mick <dmick@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
If the RBD object map is invalidated during the run of the test,
the tests will now return a failed status to alert to an issue
with the object map.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
As a convenience, get_flags now retrieves the current image
flags as well as all historical snapshop flags with a single
librados operation.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When loading of librados failed, the real cause was hidden in some
circumstances due to exception rewriting. Additionally, the error
reporting was inconsistent -- two paths with different exceptions
and messages existed.
Fixes: #7264
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>