| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This is done for testing.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\
| |
| |
| | |
Wip 6445
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Backport: dumpling
Fixes: #6445
handler->get() returns a newly allocated obj, need to delete it when
done.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\ \
| | |
| | |
| | | |
Wip 6444
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fix related to issue #6444
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6444
Backport: dumpling
If pool creation fails (e.g., due to -EEXIST) then we leak the
completion object. Earlier we couldn't just drop the reference, as
librados have already removed the internal completion object. This fix
drop the completion reference even if got an error, which is now
possible.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Backport: dumpling
The pool async delete / create function used to delete the internal
completion object. However, caller still holds the allocated completion
object, which it can't drop a reference to (as it'd try to deallocate
the already freed internal object). This fix removes the internal object
deletion, a following commit will fix a related leak (#6444) by having
the application (radosgw) drop the reference even if got an error.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\ \
| |/
|/| |
Invoke python with /usr/bin/env python instead of directly
|
|/
|
|
|
| |
Fixes: #6311
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
|
|
|
|
|
|
|
| |
There was a bunch of situations in which we would have a proper error to
propagate to user-space but we would always return '1' (EXIT_FAILURE).
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit 7e722245a717038c49f432ae19d9874c25066bb6)
|
|\
| |
| |
| |
| | |
ceph.in: fix missing exception variable in failure to open -o file
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| | |
Fixes: #6424
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
|\ \
| |/
|/|
| |
| | |
Wip 6397
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| |
| |
| |
| |
| |
| | |
Parser handles that by itself.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: #6397
Previous implementation did not user the constructor with the length
param.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Regression test for #6047
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The optimized intel code reads in word-sized chunks, knowing that the
allocator will only hand out memory in word-sized increments. This makes
valgrind unhappy. Whitelisting doesn't work because for some reason there
is no caller context (probably because of some interaction with yasm?).
Instead, just use the baseline code for the last few bytes. This should
not be significant.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 39c89dcfed0587f822e2226f2de8e4092449af29)
Conflicts:
src/test/common/test_crc32c.cc
|
|\ \
| | |
| | |
| | |
| | | |
ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's legal to give a CephEntityAddr to osd blacklist with no nonce,
so allow it in the valid() method; also add validation of any nonce
given that it's a long >= 0.
Also fix comment on CephEntityAddr type description in MonCommands.h,
and add tests for invalid nonces (while fixing the existing tests to remove
the () around expect_false args).
Fixes: #6425
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
|\ \
| | |
| | |
| | |
| | | |
qa/run_xfstests.sh: use old xfstests until we adapt to new org
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tests were rearranged upstream; use an old version for the time being
until we can refactor run_xfstests.sh to cope. See #6385
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
improve ceph clie CEPH_ARGS handling
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad.
We now put CEPH_ARGS in the actual args we parse in python, which are passed
to rados piecemeal later. This lets you put things like --id ... in there
that need to be parsed before librados is initialized.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
This allows, for instance, to pass a different client name to ceph by
exporting CEPH_ARGS="--id client_id".
Signed-off-by: Benoît Knecht <benoit.knecht@fsfe.org>
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \
| | |
| | | |
Reviewed-by: Greg Farnum <greg@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we resize the write due to the funky truncate behavior, we need to
resize the bufferlist to match.
Fixes: #6346
Signed-off-by: Sage Weil <sage@inktank.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On commit 81983bab we patched OSDMonitor::update_from_paxos() such that we
write the latest full map version to 'full_latest' each time the latest
full map was built from the incremental versions.
This change however clashed with OSDMonitor::encode_trim_extra(), which
also wrote to 'full_latest' on each trim, writing instead the version of
the *oldest* full map. This duality of behaviors could lead the store
to an inconsistent state across the monitors (although there's no sign of
it actually imposing any issues besides rebuilding already existing full
maps on some monitors).
We now stop OSDMonitor::encode_trim_extra() from writing to 'full_latest'.
This function will still write out the oldest full map it has in the store,
but it will no longer write to full_latest, instead leaving it up to
OSDMonitor::update_from_paxos() to figure it out -- and it already does.
Fixes: #6378
Backport: dumpling
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/
|
|
|
|
|
|
| |
This wasn't getting built in!
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 3233336cc3b6c2c1e89fe6c6d21d42e0f2cce142)
|
|
|
|
|
|
|
| |
Fix root.
Fixes: #6392
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The adjust method returns a count of adjusted items.
Add a test.
Fixes: #6382
Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
to prevent overflow in OpTracker::check_ops_in_flight when
multiplying warn_interval_multiplier *= 2
Backport: cuttlefish, dumpling
http://tracker.ceph.com/issues/6370 fixes #6370
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db)
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
|
|
| |
Not LP64, which includes ppc64 and clearly does not build.
Fixes: #6283
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
|
|
|
|
|
|
|
|
|
| |
Set it to 0 (unlimited) for now.
Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\
| |
| |
| |
| | |
mon: OSDMonitor: fix #6322 and #6323
Reviewed-by: Greg Farnum <greg@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Not doing so will make the monitor rebuild the osdmap full versions, even
though they may have been rebuilt before, every time the monitor starts.
This mostly happens when the cluster is left in an unhealthy state for
a long period of time and incremental versions build up. Even though we
build the full maps on update_from_paxos(), not updating 'full_latest'
leads to the situation initially described.
Fixes: #6322
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise, for considerably sized rebuilds, the monitor will not only
consume vast amounts of memory, but it will also have troubles committing
the transaction. Anyway, it's also a good idea to adjust transactions to
the granularity we want, and to be fair we care that each rebuilt full map
gets to disk, even if subsequent full maps don't (those can be rebuilt
later).
Fixes: #6323
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
perfglue/heapprofiler: expect cmd name when handling command instead of 'heap <cmd>'
This was broken by the cli rework.
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Must have been forgotten during the cli rework.
Backport: dumpling
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The heap profiler doesn't care, nor should it, what our command name is.
It only cares about the commands it handles.
Backport: dumpling
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We used to pass 'heap' as the first element of the cmd vector when
handling commands. We haven't been doing so for a while now, so we
needed to fix this.
Not expecting 'heap' also makes sense, considering that what we need to
know when we reach this function is what command we should handle, and
we should not care what the caller calls us when handling his business.
Fixes: #6361
Backport: dumpling
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6293
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 16ebb25f7cdb8e92c618a333c505c16edb16c95c)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6176
Backport: dumpling
We take different code paths in copy_obj, make sure we close the handle
when we exit the function. Move the call to finish_get_obj() out of
copy_obj_data() as we don't create the handle there, so that should
makes code less confusing and less prone to errors.
Also, note that RGWRados::get_obj() also calls finish_get_obj(). For
everything to work in concert we need to pass a pointer to the handle
and not the handle itself. Therefore we needed to also change the call
to copy_obj_data().
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
replace list::size() with map::size(), which should have
a constant time complexity.
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This code was originally used in a token cache, now
as a generic infrastructure rename token fields.
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|/ /
| |
| |
| |
| | |
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
push_back() expects char *, whereas append can append a single char.
Appending a NULL char to push_back is cast as a NULL pointer which is
bad.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|/ |
|