| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\
| |
| |
| |
| | |
qa: workunits: mon: crush_ops: test 'ceph osd crush move'
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/
|
|
| |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|\
| |
| |
| |
| | |
mon: MonCommands: expect a CephString as 1st arg for 'osd crush move'
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/
|
|
|
|
| |
Fixes: #6230
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|\
| |
| |
| |
| | |
rgw: fix get cors, delete cors
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | |
| | |
| | |
| | | |
init-radosgw*: fix status return value if radosgw isn't running
Backport: dumpling
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/ /
| |
| |
| | |
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Returning the current version for the pgid and last_user_version makes
some sense here.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit b05f7ea5199fc190a3be887fac4d74417461e1ce)
|
|/
|
|
|
|
|
|
|
|
| |
All other MOSDOpReply creators do this, with the exception of the pg
op.
Fixes: #6222
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 5148aac73d50593217455619bef95b8e1b296e10)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6111
Backport: dumpling
When completing the part upload we need to flush any data that we
aggregated and didn't flush yet. With earlier code didn't have to deal
with it as for multipart upload we didn't have any pending data.
What we do now is we call the regular atomic data completion
function that takes care of it.
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes: #6088
Backport: bobtail, cuttlefish, dumpling
When posting an object it is possible to provide a key
name that refers to the original filename, however we
need to verify that in the end we don't end up with an
empty object name.
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is a bucket-only operation, so we shouldn't look at the
object. Object may not exist and we might respond with Not
Exists response which is not what we want.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Some old code still tried to use s->bucket_cors, which was
abandoned in a cleanup work.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Backport: dumpling
Moving back the watch initialization after the zone init,
as the zone info holds the control pool name. Since zone
init might need to create a new system object (that needs
to distribute cache), don't try to distribute cache if
watch is not yet initialized.
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\ \
| | |
| | |
| | | |
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Initial pass at COPY_FROM implementation. This uses COPY_GET to read an
object from another OSD and write it locally. It chunks the read but
accumulates it all in-memory and commits it at once, so it is only suitable
for smaller objects.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This operation will copy an entire object (data, attrs, omap)
atomically. If the src_version does not match the source object, or
the source object is updated while the copy is in progress, we will
fail with a suitable error code. By atomic we mean that it will either
successfully copy the entire object in its entirety or it will fail (and
require no cleanup).
Add to C++ librados API only for now.
Signed-off-by: Sage Weil <sage@inktank.com>
Conflicts:
src/include/ceph_strings.cc
src/include/rados.h
src/osd/osd_types.cc
|
|/ /
| |
| |
| | |
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
| |
| |
| |
| |
| |
| | |
configuration.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was broken by the refactor in 96aaa5e3a371ade8b91ad9ab991d996eaef2cea5
and can make us hang.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Following the changes to when we set or increase the user_version, we
want to continue to return the best lower bound we can on the version
of any newly-created object. For ENOENT replies that means returning
info.last_user_version instead of the (potentially-zero) ctx->user_at_version.
Similarly, for cls_current_version we want to return the last version on
the PG rather than the last update to the object in order to provide
sensible version ordering across object deletes and creates.
Update the versions doc so it continues to be precise.
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|\ \
| | |
| | |
| | | |
Reviewed-by: Greg Farnum <greg@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Leave ctx->user_at_version set to the previous oi.user_version unless/until
we find that ctx->user_modify is true.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Nothing relies on this, but it makes sense to me.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Or snap trim events where we are adjusting the head's snapdir attr.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We may have pg entries that do not increase the user_version at all (i.e.,
they may be 0). Do not update the last_user_version in that case as we
need it to remain an upper bound.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
rgw: Allow wildcard in supported keystone roles.
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
|
|/ /
| |
| |
| |
| |
| | |
http://tracker.ceph.com/issues/4365 fixes #4365
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure we don't dereference a NULL pointer. Note that we check a
bit further down if the target pool does not exist and return the proper
error.
Bug was reliably reproduced by
./ceph_test_rados_api_watch_notify --gtest_filter=LibRadosWatchNotify.WatchNotifyTimeoutTestPP
Signed-off-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Added config option to allow S3 to use Keystone auth
- Implemented JSONDecoder for KeystoneToken
- RGW_Auth_S3::authorize now uses rgw_store_user_info on keystone auth
- Minor fix in get_canon_resource; dout is now after the assignment
Reviewed-by: Yehuda Sadeh<yehuda@inktank.com>
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
|
|\ \
| | |
| | |
| | |
| | | |
os: LevelDBStore: ignore ENOENT files when estimating store size
Reviewed-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While iterating over the store files we race against leveldb, which may
be shuffling data around thus removing some files.
By ignoring missing files on stat, we'll get to not account those files
but that's okay -- this is just an estimate.
Fixes: #6178
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- Uninitialized field in MonitorLevelDB::Op causes random build errors.
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This sometimes gives a completely random uint64_t value, because it is
potentially used uninitialized.
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
|