The directory in which the payload is stored is created from the plugin
parameters. The --show-path shows the directory and exits. This
directory can then be used with --path to override the path created from
the plugin parameters. This is useful to verifying that the jerasure
variant optimized with AVX, SSE4 etc. instructions can be used on the
same payload and show no difference at all. In this case the directory
used by the default jerasure variant is used for each variant and the
parameter that sets the variant to use ( --parameters jerasure-variant )
must not be taken into account to figure out the location of the
payload.
http://tracker.ceph.com/issues/9720 Refs: #9720
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Add a call to ErasureCode::sanity_check_k for the isa and jerasure
plugins, with associated tests.
http://tracker.ceph.com/issues/10358Fixes: #10358
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Move distro-specific BuildRequires out of "common" section and
into the appropriate %if statement in the "specific" section.
Also remove a duplicated "Requires: gdisk".
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
yum-builddep does not exit on error when an error happens: grep the
output for the error: string instead.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The %endif removed by f94f23297c is restored.
The %else removed by 75e87a20da is restored.
The stray %endif added by d8abde3338 is removed.
May 29th, in d8abde3338 Owen added a stray
%endif after
BuildRequires: gperftools-devel
around line 133. June 3rd, in f94f23297c
Ken correctly attributed the error
"error: /srv/autobuild-ceph/gitbuilder.git/build/ceph.spec:140: Got a
%endif with no %if"
to a stray %endif but did not remove the one causing problem and in
doing so created another problem. June 4th, in
75e87a20da Owen incorrectly fixed
this new problem by removing the %else that is near
BuildRequires: gperftools-devel
around line 116, instead of reverting
f94f23297c. As a consequence the
ceph.spec.in became syntactically correct but implemented an if/else
logic different from what was intended originally and a number of
BuildRequires became exclusive to SUSE and were not installed for CentOS
7 etc.
http://tracker.ceph.com/issues/11901Fixes: #11901
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Implement the ErasureCode::sanity_check_k helper for plugins
that need to verify k >= 2.
http://tracker.ceph.com/issues/10358Fixes: #10358
Signed-off-by: Loic Dachary <ldachary@redhat.com>
It's possible that a stale notice is received and will
be discarded after the request lock has been canceled.
This will stale the client.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If the exclusive lock owner acks the lock release request but crashes
before it actually releases the lock, the requestor will wait forever.
Therefore, after a certain timeout, retry the request again until it
succeeds.
Fixes: #11537
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The various IO callback codepaths will attempt to take
the lock, which will result in deadlock since the flush
cannot complete.
Backport: hammer
Fixes: #11537
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Conflicts:
src/librbd/ImageWatcher.cc
The AbstractWrite state machine has already taken care of updating
the object map to the correct state.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Now that child images can be disassociated from their parents even
when snapshots exist, trim operations need to copyup parent objects
before deleting the object from the child.
Fixes: #11579
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
ImageCtx::get_copyup_snap_id returns the oldest snapshot
to be used when calculating parent image overlaps.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Conflicts:
src/librbd/AioRequest.cc
The configure's --with-debug option builds also some of the tests
so this should be mentioned in its doc string in order to let users
know how to build all the tests.
Signed-off-by: Joaquim Rocha <joaquim.rocha@cern.ch>
4601e10800 introduced a regression in that
an empty (uninitialised) OSD uuid is passed to test_pool_read_write for
IO. As a result, the "rados put" request times out causing test failure.
This change ensures that a correct OSD uuid is passed to
test_pool_read_write.
Signed-off-by: David Disseldorp <ddiss@suse.de>