This means that anyone who de-privileges their client.admin
user will find that it gets resets with full privileges again.
This is necessary because we cannot distinguish between an old
key and a deliberately de-privileged key, and it's okay because
this is the admin key, it's meant to have access to everything.
Fixes: http://tracker.ceph.com/issues/19940
Signed-off-by: John Spray <john.spray@redhat.com>
user could be confused at seeing errors like:
src/CMakeLists.txt:644 (add_subdirectory): The source directory /src/lua
does not contain a CMakeLists.txt file.
Signed-off-by: Kefu Chai <kchai@redhat.com>
The previous commit uses dynamic allocation to search for s3/ swift specific
error codes and dump the results. In order to avoid dynamic allocation,
we are making use of protocol flags to achieve the above.
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
make set_req_state_err a method of req_state
get rid of params.perr; it's never used
rgw - polymorphic error object.
polymorphic error object: this way sts, which has additional error fields,
and its own xml format for how errors should be produced, can overload
the base rgw_err class.
STL fixup: use real mappings for error mappings, not a linear search.
insubstantiate error mappings exactly once in src/rgw/rgw_common.cc, instead
of multiple copies from every source file that includes src/rgw/rgw_http_errors.h.
remove dump_errno(s, err) - it was never used, and the code looked bogus.
move rgw_http_error_to_errno from header to rgw_rest_client.cc,
the only place it's used.
move rgw_http_status_code and http_codes to rgw_rest.cc,
the only place it's used.
base class (rgw_err) implements s3 errors; swift & sts errors use
the base class and overlay their own additional error codes to
the ones recognized by the base class.
For a while, I was trying to just have a "generic" abort_early() that
used dump_more. Now, I have an op aware form that works the old way.
I would like the http routines to known less about "op" structures,
which is why I'm making this distinction.
Splitting up generic and s3 flavors of some things:
rgw_rest_init() - split into s3 and generic forms.
end_header: s3 vs generic forms: generic form uses dump_more.
abort_early: s3 vs generic forms: generic form uses dump_more, error_content.
And fixing some mistakes from the merge:
Fixup: should not have deleted dump_errno() local storage forms.
Fixup:RGWRESTFlusher - take a dump_more to make it generic.
Fixup: need RGWRESTOp::send_response()
Move swift_err up; use it in bulkdelete_respond
I Think I don't need s->prot_flags when using swift_err.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
For now, unify with v4 write-on-close path, by calling
RGWFileHandle::close() on write-timer expire, since it will
call write_finish() as a side-effect.
Fixes: http://tracker.ceph.com/issues/19932
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
This was sending lots of metadata ops to MDSs to persuade
them to migrate some subtrees, but that was flaky. Use
the shiny new rank pinning functionality instead.
Signed-off-by: John Spray <john.spray@redhat.com>
Don't assume that test_data_scan will be run on exactly 2 MDS nodes.
Fixes: http://tracker.ceph.com/issues/19893
Signed-off-by: Douglas Fuller <dfuller@redhat.com>
Shows the types of operations that clients are doing by adding counters to the
spot where the MDS responds to clients. This avoids counting operations that
were restarted while waiting for locks or for metadata to load. Does not
support per-client activity. This is the first step towards comprehensive
performance tracking in the file system.
Signed-off-by: Michael Sevilla <mikesevilla3@gmail.com>
Swap contents of two crush buckets. Do it safely by default so that
the origin bucket has to be an orphan (unless forced).
Signed-off-by: Sage Weil <sage@redhat.com>