| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make MDCache::populate_mydir() only fetch bare-bone stray dirs.
After all stray dirs are populated, call MDCache::scan_stray_dir(),
it fetches incomplete stray dirs.
Fixes: #4405
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 007f06ec174d4ee5cfb578c8b3f1c96b2bb0c238)
Conflicts:
src/mds/MDCache.h
Reviewed-by: Greg Farnum <greg@inktank.com>
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6553
Backport: bobtail, cuttlefish, dumpling
Authenticated users group acl bit was not working correctly. Check to
test whether user is anonymous was wrong.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bebbd6cb7b71697b34b8f27652cabdc40c97a33b)
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6554
Backport: cuttlefish, dumpling
Default log level was just too high, bring it down a bit.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 8d7dbf85472cfca9268d81ecf057ea078cf345b3)
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6462
We were missing the generic attributes when we updated the object
metadata (operation that only exists in the swift api).
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit f2645e1c6d7383a0ace3b239f4304e353249c4bb)
|
|
|
|
|
|
|
|
|
|
|
|
| |
standby replay may fall behind and get -ENOENT when reading the
journal. return -EAGAIN in this case, it makes the MDS respawn itself.
fixes: #5458
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit d2cb2bf6bac83ac6db9df6cb876317d30e7493cc)
Reviewed-by: Greg Farnum <greg@inktank.com>
|
|
|
|
|
|
|
|
| |
Fixes: #6279
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
(cherry picked from commit 40613b700b87b495d67793101ae05d6ba58b2a9a)
Reviewed-by: Greg Farnum <greg@inktank.com>
|
|
|
|
|
|
|
|
|
| |
The context to finish can be class C_Client_PutInode, which may drop
inode's last reference. So we should first drop object's reference,
then finish contexts.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
(cherry picked from commit b66ac77fa7aa3ff37804918c4308a348f239af09)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although fsstress was being called with a static path the directory
it was writing to was in the current directory so doing a cd to the
source directory that is made in /tmp and then removing it later
caused it to be unable to write the files in a non-existent dir.
This change gets the current path first and cd's back into it after
it is done compiling fsstress.
Issue #6479.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Alfredo Deza <alfredo.deza@inktank.com>
|
|
|
|
|
|
| |
Fixes #5702
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Note that the OSD behaves in a weird way when you rollback to a non-
existent snap, so the test probably isn't the only party at fault here.
Fixes (test half of): #6254
Backport: dumpling, cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 55d279b98553ba4542219b126fc7159b20b18b1f)
Conflicts:
src/test/osd/RadosModel.h
src/test/osd/TestRados.cc
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Fixes: #6360
The test was inverted, need expiration to be greater than
current time in order for token to be valid.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Caused by 944f3b73531af791c90f0f061280160003545c63
Fixes: #6291
Backport: dumpling
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 139a714e13aa3c7f42091270b55dde8a17b3c4b8)
Conflicts:
src/osd/OSD.cc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit bd0f29a2c28cca496ec830eac932477ebf3182ba)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have an existing CrushWrapper object and decode from a bufferlist,
reset build_rmaps so that they get rebuilt.
Remove the build_rmaps() all in decode that was useless on a redecode
(because have_rmaps == true in that case and it did nothing).
Fixes: #6442
Backport: dumpling, maybe cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 9b7a2ae329b6a511064dd3d6e549ba61f52cfd21)
|
|
|
|
|
|
| |
Fixes: #6311
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit b9000b314b9166845ff302d4a827a996775d9a14)
|
|
|
|
|
|
|
|
| |
Fix root.
Fixes: #6392
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c8cae87e9e08468cc86145e0fd60c05d12826239)
|
|
|
|
|
|
|
|
|
| |
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.
(cherry picked from commit 97f462be4829f0167ed3d65e6694dfc16f1f3243)
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 30abe3244c86cbbe1f5b005850c29c9c0eafcad4)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 3de32562b55c6ece3a6ed783c36f8b9f21460339)
|
|
|
|
|
| |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 3bc618b7b46496c5110edde0da9cae5d3e68e0e1)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Return -EEXIST on duplicate ID
BUG FIX: crush_add_bucket() mixes error returns and IDs
Add optional argument to return generated ID
Fixes: #6246
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 8c76f3a0f9cf100ea2c941dc2b61c470aa5033d7)
|
|
|
|
|
| |
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit b1eeaddd5f214c1b0883b44fc8cae07c649be7c4)
|
|
|
|
|
|
|
|
|
| |
Must have been forgotten during the cli rework.
Backport: dumpling
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit 296f2d0db31e9f5a59a3a62a1e95b6c440430fa3)
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 238fe272c6bdb62d4e57fd8555c0136de99c8129)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit c98b910d49bd2b46ceafdc430044a31524c29f5b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 9e98620e4325d15c88440a890b267131613e1aa1)
|
|
|
|
|
|
|
| |
Fixes: #6230
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 7d3799fde19138f957f26ec6be10a8a0000fc1f0)
|
|
|
|
|
|
|
|
|
|
| |
Set it to 0 (unlimited) for now.
Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit abb88d70643c3a76435b7a9d5b04ff29f7502361)
|
|
|
|
|
|
|
|
|
| |
We need to wrap the full decode section or we can abort the process
if there's an issue (which we may want to just skip by).
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 73289b34b0be5b6612e38944794d59b5e789f841)
|
|
|
|
|
| |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 0d20cae0be701c5b6151a26ee5e4fe24d89aa20a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 81983bab3630520d6c7ee9b7e4a747bc17b8c5c3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 4ac1570c5cdcd6556dc291cc6d7878fd92d343ae)
|
|
|
|
|
|
|
|
| |
Backport: dumpling
Fixes: #6047
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit fab79543c54c2e446d3f76520d7906645c6b0075)
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 7c1d2ded8fa8061bf3f14932800998b963745dd1)
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 532e41a9985a16b35a6e49cdcba38af0ad166fa8)
|
|
|
|
|
|
|
|
|
|
| |
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>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 08fe028bad13096d482454a2f303158727c363ff)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6175
Backport: dumpling
We get a buffer off the remote gateway which might
not be NULL terminated. The JSON parser needs the
buffer to be NULL terminated even though we provide
a buffer length as it calls strlen().
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit e7f7483192cddca1159aba439ce62b1e78669d51)
|
|
|
|
|
|
|
|
|
| |
Fixes: #6286
Use an external counter instead of calling list::size()
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 31e3a51e933429d286104fe077e98ea883437ad6)
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6268
When doing aio write of objects (either regular or multipart parts) we
need to drain pending aio requests. Otherwise if gateway goes down then
object might end up corrupted.
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 626669afaa333d73707553a85f5c874e99e9cbd8)
|
|
|
|
|
|
|
|
|
| |
Remove a couple of variables that overrode class member. Not
really clear how it was working before, might have been a bad
merge / rebase.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 13872785aeeddbe1b8dd97e49fd6a2d879514f8d)
|
|\
| |
| |
| | |
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Change return values in certain cases, reorder
checks, etc.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| | |
Was missing this http method.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Have the CORS responses on all relevant operations. Also add headers
on failure cases.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|