We missed a shortcut return from _flush() when doing
e9a6694d01, so _fsync() calls
were failing. To fix, if _flush discovers there's nothing to flush,
trigger the completion by calling onfinish->finish().
Fixes#4038
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
This option specifies (in the range 0-1) the percentage of modifying
operations that should be responded to without including a trace
for the dentries.
In order to implement it, we add a "modify" parameter to
set_trace_dist(), and the callers fill that with
mdr->req->may_write().
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sam Lang <sam.lang@inktank.com>
I was getting email with logrotate error output from “which invoke-rc.d”
on systems without an invoke-rc.d. This patch silences it.
Silence stderr from which when running logrotate
From: Alexandre Oliva <oliva@gnu.org>
Signed-off-by: Alexandre Oliva <oliva@gnu.org>
A bunch of these are slightly racy so they're enclosed in loops. This
particular one, though, changes the Throttle state in ways that
invalidate the asserts. To fix, reset the state before commencing a
rerun.
Signed-off-by: Greg Farnum <greg@inktank.com>
Remove uninitialized usage of 'int i' as i++ from 'for' loop.
The variale 'i' is never used in this loop and initialized
before the next use with 0.
Related warning from clang++:
rbd_fuse/rbd-fuse.c:141:36: warning: variable 'i' is uninitialized
when used here [-Wuninitialized]
for (im = rbd_images; im != NULL; i++, im = im->next) {
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix "Function parameter 'v' should be passed by reference." from cppchecker.
Use 'const pair<A,B>& v' similar to the other operator<< in this file.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix operator=: return "iterator&" instead of 'iterator'. Check if 'this'
equals 'other' before set anything.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix "out-of-line declaration of a member must be a definition
[-Wout-of-line-declaration]". Remove ceph::crypto::shutdown() outside
the crypto related ifdef's. Without nss or cryptopp configure will
fail anyways.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Remove an unneeded for loop from the ceph logrotate.conf, and
update the new rgw logrotate.conf to reload the radosgw serivce.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Fixes: #3813
Since radosgw package is separate from the ceph package,
it also needs to have a separate logrotate. The default
path for radosgw log is changed to /var/log/radosgw,
and it now has a different logrotate script.
Updating both deb and rpm packaging.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Method to create a very generic rule the distributes objects across the
specified failure domain type underneath the given root.
Signed-off-by: Sage Weil <sage@inktank.com>
Simple command to find the ip, host, rack, etc. for an OSD. This is better
than 'ceph osd dump | grep ^osd.NNN\ '.
Signed-off-by: Sage Weil <sage@inktank.com>
Removes a condition in Throttle::_reset_max by which the waiting queue is only
Signal()ed if the new maximum is lower than the current maximum.
There is no evidence of a use case where such a restriction would be
useful. In addition waking up a thread when the maximum increases
gives it a chance to immediately continue the suspended process
instead of waiting for the next put().
Create a new test file covering 100% of src/Throttle.{cc,h} lines of code.
The following methods are tested:
* Throttle::Throttle with and without a maximum
* Throttle::~Throttle when each pending Cond is deleted
* Throttle::take
* Throttle::get when updating the maximum ( lower or higher ),
when going to sleep waiting for the count to lower under
the maximum, when going to sleep because another thread is
already asleep waiting
* Throttle::get_or_fail when there is no maximum,
when requesting a count that is larger than the maximum, either
when the current value is under the maximum or above the maximum.
* Throttle::wait when used to reset the maximum and wake up
another thread asleep waiting
All asserts checking the arguments sanity are exercised ( negative argument
for Throttle::take etc. ).
Adds the LGPLv2+ licensing terms to COPYING along with the others.
Adds a Contributors section to the AUTHORS file.
Notes:
Testing asserts outputs verbose error messages that should be silenced
but it does not seem possible.
Signed-off-by: Loic Dachary <loic@dachary.org>
Change the filter in logrotate to use sed instead of perl, and remove the
package dependency on perl.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>