]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agolibrgw: fix 2 bugs in RGWListBuckets, remove scaffolding
Matt Benjamin [Sun, 4 Oct 2015 18:51:52 +0000 (14:51 -0400)]
librgw: fix 2 bugs in RGWListBuckets, remove scaffolding

1. the prior commit had authorize cognate with S3
1.1 which may be right
1.2 but maybe not for each request
1.3 and lacked priming/forged auth data

The forging of auth data is now easy, but the interesting part is
caching and efficiently attaching it so I paused, and

2. disabled auth, which was now overriding and anonymizing all
requests (good!)

3. fixed another instance of reinterpret_cast where (one of)
dynamic_cast or a saved pointer descendant request (avoids a runtime
check, so will add later) is needed

4. fixed bad offset argument to rgw_readdir

The list bucket facility now works, modulo non-auth.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: process_request prologue fixups
Matt Benjamin [Sat, 3 Oct 2015 20:28:16 +0000 (16:28 -0400)]
librgw: process_request prologue fixups

* initialize RGWEnv with required HTTP_HOST (incorrectly!)
* assign req_state::cio (not really correctly)
* remove incorrect delete of RGWOp, which no longer alloc'd

Now runs, but don't see buckets.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: reprocess process_request
Matt Benjamin [Sat, 3 Oct 2015 17:58:24 +0000 (13:58 -0400)]
librgw: reprocess process_request

Refactor RGWLib variant of process_request(...) as a (actually 2,
one which puts an RGWLibIO on the stack) member function of
RGWLibProcess.

Also replace extern abort_early with static inline abort_req(),
since the rgw_rest extern assumes HTTP/REST.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: wire up RGWLibFrontend enqueue and exec operations
Matt Benjamin [Fri, 2 Oct 2015 21:51:22 +0000 (17:51 -0400)]
librgw: wire up RGWLibFrontend enqueue and exec operations

Adds the missing bits of RGWLibProcess and RGWLibFrontend, and
calls them from rgw_readdir().

Clients can call enqueue_req() to route a request through the
work queue, or execute_req() to run it inline.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: remove RGWLibRequestEnv
Matt Benjamin [Fri, 2 Oct 2015 20:30:21 +0000 (16:30 -0400)]
librgw: remove RGWLibRequestEnv

The REST cognates of this class largely deal with HTTP, and is 1-1
w/request, client-io, op, etc.  At worst, its functions can be absorbed
into one of those (client-io, initially).

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: wire up request initializers
Matt Benjamin [Fri, 2 Oct 2015 16:50:47 +0000 (12:50 -0400)]
librgw: wire up request initializers

There's some tricky overloading induced by multiple inheritance,
also this design makes repeatedly shared handles in current framework
very visible.

The most important non-boilerplate is in descendant RGWRequest
initializers (rgw_lib.h), which need to set up req_state appropriately
for their action/op.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: re-derive RGWLibRequest
Matt Benjamin [Thu, 1 Oct 2015 22:26:37 +0000 (18:26 -0400)]
librgw: re-derive RGWLibRequest

Derive RGWLibRequest from RGWRequest, RGWHandler.

This strategy defines the dialect of ops following the derivation
pattern for RGWLib actions to be their handler.

On the negative side, RGWLibRequest has struct req_state* s from two
ancestors.  Since we don't use virtal inheritance, the only overhead is
the extra copy, and need for disambiguation in the direct descendants
(this is only 1 method in 1 file, atm).

The motivation is as follows.  RGWHandler currently has 3 responsibilities:
1) op-chasing; 2) to hold authorize() and read_permissions() methods
3) to initialize req_state

RGWLib actions have no use for the op-chasing behavior, and authorize()
and read_permissions() methods are arguably more naturally expressed as
methods on the actions.  Meanwhile struct req_state appears to be a
candidate for refactoring into the RGWRequest class hierarchy, which would
mean that initalization probably should move from hanlder to request, as
well.  Refactoring req_state is would be quite intrusive, so this change
defers that for later, but keeps the 1-1 mappings from request to
handler at 0 cost.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: rename RGWHandler_REST_Lib (sic), inherit from RGWHandler
Matt Benjamin [Thu, 1 Oct 2015 20:53:23 +0000 (16:53 -0400)]
librgw: rename RGWHandler_REST_Lib (sic), inherit from RGWHandler

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: remove dead code, add comments in RGWLib
Matt Benjamin [Thu, 1 Oct 2015 20:35:30 +0000 (16:35 -0400)]
librgw: remove dead code, add comments in RGWLib

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: refactor RGWHandler HTTP/REST methods into _REST
Matt Benjamin [Thu, 1 Oct 2015 19:58:27 +0000 (15:58 -0400)]
librgw: refactor RGWHandler HTTP/REST methods into _REST

This change renames RGWHandler_ObjStore to RGWHandler_REST, and
moves the following protected, virtual, RESTful methods:

  virtual bool is_obj_update_op() { return false; }
  virtual RGWOp *op_get() { return NULL; }
  virtual RGWOp *op_put() { return NULL; }
  virtual RGWOp *op_delete() { return NULL; }
  virtual RGWOp *op_head() { return NULL; }
  virtual RGWOp *op_post() { return NULL; }
  virtual RGWOp *op_copy() { return NULL; }
  virtual RGWOp *op_options() { return NULL; }

and the following public, virtual methods not needed by the
prototyped RGWLibHandler:

  virtual RGWOp *get_op(RGWRados *store);
  virtual void put_op(RGWOp *op);

from RGWHandler into the renamed class.

The motivation for this change is to allow a (maybe) transitional
refactoring stage which allows to implement the RGWHandler
interface, without implementing get_handler() or get_op(), put_op(),
or op_*().

Prior refactoring (which could be reversed) moved authorize() and
read_permissions() into the precursor RGWHandler_ObjStore

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: call rcb in RGWListBucketsRequest operator()
Matt Benjamin [Sat, 23 Jan 2016 19:27:39 +0000 (14:27 -0500)]
librgw: call rcb in RGWListBucketsRequest operator()

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: add user_id to RGWListBucketsRequest
Matt Benjamin [Thu, 1 Oct 2015 16:53:00 +0000 (12:53 -0400)]
librgw: add user_id to RGWListBucketsRequest

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: header inclusion fix, actually call callbacks
Matt Benjamin [Thu, 1 Oct 2015 12:52:07 +0000 (08:52 -0400)]
librgw: header inclusion fix, actually call callbacks

Fix public header inclusion from rgw_file.h internal header, which
of course needs to see the public interface.

Finish up the minimal RGWListBucketsRequest callback functor.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: incremental
Matt Benjamin [Wed, 30 Sep 2015 21:34:50 +0000 (17:34 -0400)]
librgw: incremental

* move RGWLibRequest decls into rgw_file.h
* revise include guard token in rados/rgw_file.h (avoid conflict)
* save CephContext* in RGWLibRequest
* initialize RGWLibRequest cct in ctor, req_state in process_request

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: s/gen_request/enqueue_req/;
Matt Benjamin [Wed, 30 Sep 2015 20:15:59 +0000 (16:15 -0400)]
librgw: s/gen_request/enqueue_req/;

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: replace RGWHandler::put_op() in RGWLib path
Matt Benjamin [Wed, 30 Sep 2015 18:46:04 +0000 (14:46 -0400)]
librgw: replace RGWHandler::put_op() in RGWLib path

The method just called delete on the RGWOp pointer.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: move authorize() and read_permissions()
Matt Benjamin [Wed, 30 Sep 2015 17:55:26 +0000 (13:55 -0400)]
librgw: move authorize() and read_permissions()

all RGW_Auth_S3::authorize() from process_request().  Add a
read_permissions() primitive replacing RGWHandler's version in
RGWLibRequest.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: pre-assign req->op (as self), avoid dynamic_cast
Matt Benjamin [Wed, 30 Sep 2015 14:00:14 +0000 (10:00 -0400)]
librgw: pre-assign req->op (as self), avoid dynamic_cast

It would be nice to have some compile-type assistance w/the
dual RGWOp & RGWLibRequest boilerplate.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: breakthrough cleanups (I think)
Matt Benjamin [Wed, 30 Sep 2015 00:46:18 +0000 (20:46 -0400)]
librgw: breakthrough cleanups (I think)

* RGWLib bucket ops prototyped
* progress made on RGWOp+RGWRequest unification (RGWLib only)
* mostly-harmlessness of RGWHandler-free operation try-checked

The replacement for process_request is the next code to prototype--
RGWHandler-free operation, for great justice.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: incremental rgw_rest_lib internals
Matt Benjamin [Fri, 25 Sep 2015 18:27:09 +0000 (14:27 -0400)]
librgw: incremental rgw_rest_lib internals

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: include rgw_lib.h from rgw_rest.cc
Matt Benjamin [Wed, 23 Sep 2015 22:27:04 +0000 (18:27 -0400)]
librgw: include rgw_lib.h from rgw_rest.cc

RGWLibIO is forward declared in rgw_rest.h.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: tweaks to RGWREST::preprocess and fix a typo in RGWHandler_ObjStore_Lib defn.
Matt Benjamin [Fri, 11 Sep 2015 20:03:09 +0000 (16:03 -0400)]
librgw: tweaks to RGWREST::preprocess and fix a typo in RGWHandler_ObjStore_Lib defn.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorefactor RGWClientIO
Matt Benjamin [Thu, 10 Sep 2015 17:21:17 +0000 (13:21 -0400)]
refactor RGWClientIO

In order to support direct/library clients, we want to
more fully decouple RGWOp processing from client HTTP
processing, since in the direct case, there is no HTTP
client.

This change tackles essentially just RGWClientIO, by moving
stream operations to a new subclass RGWStreamIO, and updating
the stream backends (e.g., SWIFT, S3) and REST handlers
accordingly.

In addition, the RGWLib backend is incrementally updated, with
RGWLibIO still deriving from the base RGWClientIO.  The RGWLib
path is incomplete as of this change, but is moving in the
direction of its own process_request call path (incomplete,
partly due to header conflicts that will be resolved in
subsequent commits).

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: comments
Matt Benjamin [Wed, 9 Sep 2015 22:20:36 +0000 (18:20 -0400)]
librgw: comments

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: widen rgw_mount, open-code list buckets
Matt Benjamin [Wed, 9 Sep 2015 18:11:28 +0000 (14:11 -0400)]
librgw: widen rgw_mount, open-code list buckets

Widen rgw_mount(...) to take the library context, which from
there on follows struct rgw_fs.

Implement an open-coded version of list buckets in rgw_readdir(...),
which now...lists buckets.

The future home of this and the rest of the rgw_file impl. logic
looks to be a more fully elaborated RGWLib* class family.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: add LOOKUP_BUCKETS and LIST_OBJECTS
Matt Benjamin [Wed, 9 Sep 2015 13:11:46 +0000 (09:11 -0400)]
librgw: add LOOKUP_BUCKETS and LIST_OBJECTS

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: add list bucket test
Matt Benjamin [Tue, 8 Sep 2015 23:46:33 +0000 (19:46 -0400)]
librgw: add list bucket test

The operation on store is missing, but interface works.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: test rgw_(u)mount(...)
Matt Benjamin [Tue, 8 Sep 2015 23:26:18 +0000 (19:26 -0400)]
librgw: test rgw_(u)mount(...)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: take keys in test
Matt Benjamin [Tue, 8 Sep 2015 23:12:24 +0000 (19:12 -0400)]
librgw: take keys in test

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: fe::init must create RGWLibProcess
Matt Benjamin [Tue, 8 Sep 2015 22:51:55 +0000 (18:51 -0400)]
librgw: fe::init must create RGWLibProcess

All evidence suggests RGWLibFrontend::init needs to create
an RGWLibProcess, and assign to pprocess.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: introduce struct rgw_fs
Matt Benjamin [Tue, 8 Sep 2015 21:48:11 +0000 (17:48 -0400)]
librgw: introduce struct rgw_fs

Pretending for a moment that we can definitely use the "mount"
based model, rgw_file like libcephfs requires a context reprsenting
the mounted fs.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: remove classes from extern, argv
Matt Benjamin [Tue, 8 Sep 2015 14:56:30 +0000 (10:56 -0400)]
librgw: remove classes from extern, argv

Remove class definitions from extern "C" block, which was
illogical.

Block in support for passing a C-style argument list to the
librgw_create library initializer, so code won't be tempted to
use one from librados.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: fix type of rgw_readdir eof argument (C-11 bool)
Matt Benjamin [Fri, 4 Sep 2015 19:18:43 +0000 (15:18 -0400)]
librgw: fix type of rgw_readdir eof argument (C-11 bool)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: revise rgw_* method signatures
Matt Benjamin [Fri, 4 Sep 2015 19:01:59 +0000 (15:01 -0400)]
librgw: revise rgw_* method signatures

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: update rgw_rename signature
Matt Benjamin [Fri, 4 Sep 2015 00:11:51 +0000 (20:11 -0400)]
librgw: update rgw_rename signature

Currently unimplemented.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: define an rgw_setattr
Matt Benjamin [Fri, 4 Sep 2015 00:01:24 +0000 (20:01 -0400)]
librgw: define an rgw_setattr

Currently, this operation has no effect.  It may be unsafe to
assume that NFS clients can tolerate errors or inconsistency after
SETATTR protocol ops.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: make rgw_readdir take a bool* for eof
Matt Benjamin [Thu, 3 Sep 2015 19:40:19 +0000 (15:40 -0400)]
librgw: make rgw_readdir take a bool* for eof

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: update rgw_readdir interface (stub impl)
Matt Benjamin [Thu, 3 Sep 2015 19:11:10 +0000 (15:11 -0400)]
librgw: update rgw_readdir interface (stub impl)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: add hypothetical rgw_statfs call
Matt Benjamin [Thu, 3 Sep 2015 14:43:38 +0000 (10:43 -0400)]
librgw: add hypothetical rgw_statfs call

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: stub implement rgw_getattr
Matt Benjamin [Thu, 3 Sep 2015 14:03:23 +0000 (10:03 -0400)]
librgw: stub implement rgw_getattr

This method returns Unix attributes for an object, represented
by an rgw_file_handle.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: add a library version (1.0.0)
Matt Benjamin [Tue, 1 Sep 2015 21:11:55 +0000 (17:11 -0400)]
librgw: add a library version (1.0.0)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: rgw shared library
Matt Benjamin [Tue, 1 Sep 2015 18:20:02 +0000 (14:20 -0400)]
librgw: rgw shared library

Refactor rgw_a and radosgw_srcs, and add librgw_srcs, permitting
librgw to contain a smaller subset of objects, and in particular,
not link with fcgi or civitweb.

Fix aliasing of librgw_t rgw in test_rgw_file.  Also remove global_init
there, since it can't do the right thing.  Instead, assign g_ceph_context
(ref'd) in librgw_create, if not present.

(The current rgw codebase has many dependencies on g_ceph_context to
trivially remove--it would be easier to remove it entirely, and that seems
likely to happen eventually.)

We link librgw as SHARED, with PRIVATE dependencies.  The test_librgw_file
link test demonstrates that librgw.a can be linked with no Ceph library
dependencies except librados (and its dependencies, platform dependencies,
etc).

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: compile and implement more of rgw_file
Matt Benjamin [Sun, 30 Aug 2015 20:28:48 +0000 (16:28 -0400)]
librgw: compile and implement more of rgw_file

The rgw_file body wasn't being built, so had some impossible
constructs.  More had been added by the commit which renamed
struct nfs_handle to struct rgw_file_handle.

Several key RGWLib methods hadn't been implemented (in progress).

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: the external type of librgw_t must be void*
Matt Benjamin [Fri, 22 Jan 2016 18:05:58 +0000 (13:05 -0500)]
librgw: the external type of librgw_t must be void*

The C interface cannot contain a C++ forward declaration of
class CephContext.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: install librgw.h
Matt Benjamin [Fri, 28 Aug 2015 20:11:49 +0000 (16:11 -0400)]
librgw: install librgw.h

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: s/nfs_file_handle/rgw_file_handle/;
Matt Benjamin [Fri, 28 Aug 2015 17:49:45 +0000 (13:49 -0400)]
librgw: s/nfs_file_handle/rgw_file_handle/;

The interface is in rgw_file.h, so make it match.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw_file.h: preserve cosnt correctness
Matt Benjamin [Thu, 27 Aug 2015 22:26:06 +0000 (18:26 -0400)]
rgw_file.h: preserve cosnt correctness

/s

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agolibrgw: fix some return warnings (and cosmetic)
Matt Benjamin [Thu, 27 Aug 2015 20:44:34 +0000 (16:44 -0400)]
librgw: fix some return warnings (and cosmetic)

Fix return codes for several exported functions in the rgw_file
interface.

Fix spacing and pointer, reference type notation, editor boilerplate,
in files added or touched in the prior commit introducing librgw.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw: introduce libradosgw
Orit Wasserman [Tue, 12 May 2015 10:12:03 +0000 (12:12 +0200)]
rgw: introduce libradosgw

This change exposes the radosgw service as a dynamic
library, and also introduces a file-oriented view of the
RGW corpus as a namespace (e.g., for interop with NFS
clients).

The change concatenates the following commits:
    * rgw: add rgw_file.h
    * rgw: add RGWLibRequest, RGWLibFrontend and RGWLibProcess
    * rgw: Add user command interface for librgw
    *     user_commands
    *     Implement gen_request
    *    Install librgw.a
    *     add rgw_request.cc to Makefile.am
    *    Add empty API to librgw.h
    *    Add rgw_file.cc
    *    Make RGWLib a global object
    *    Implement lookup and readdir - wip
    *    Add rgw_rest_lib.cc
    *    Install rgw_file.h
    *    wip implement mount
    *      RGWLibIO

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw: refactor rgw_main
Matt Benjamin [Fri, 8 May 2015 18:07:01 +0000 (20:07 +0200)]
rgw: refactor rgw_main

This change is an extended version of work by Orit Wasserman
moving some request-processing class headers and definition to
their own files (RGWProcess, RGWProcessEnv, RGWProcessFrontend),
along with process_request.

I have taken the refactoring further, so as to remove all class
declarations and member definitions from rgw_main.cc, so that the
file retains just:

* the responsibility to parse arguments and supervise the daemon
* the responsibility to select from front-ends/configure the RGW service
* usage

I have made small adjustments:
* moving some processing out of headers, to remove circular deps
* removed unused headers from rgw_main.cc
* added editor boilerplate and tweaked include guards in some files

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agoMerge pull request #7351 from fmeppo/master
Loic Dachary [Fri, 12 Feb 2016 16:10:18 +0000 (23:10 +0700)]
Merge pull request #7351 from fmeppo/master

Add --setuser and --setgroup options for ceph-disk

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #7605 from dachary/wip-python-wheelhouse
Kefu Chai [Fri, 12 Feb 2016 11:59:08 +0000 (19:59 +0800)]
Merge pull request #7605 from dachary/wip-python-wheelhouse

python: use pip instead of python setup.py

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoceph-disk,ceph-detect-init: clean the build directory 7605/head
Loic Dachary [Thu, 11 Feb 2016 17:09:44 +0000 (00:09 +0700)]
ceph-disk,ceph-detect-init: clean the build directory

b030d8fc113736b479e84246b6b36d5f698a2da3 should have kept the build
directory in .gitignore and the clean target. Re-adding.

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agopython: use pip instead of python setup.py
Loic Dachary [Thu, 11 Feb 2016 11:47:55 +0000 (18:47 +0700)]
python: use pip instead of python setup.py

python setup.py develop may try to pull dependencies from the net and
has no way to collect them from the wheelhouse that was populated by
install-deps.sh. Use pip install -e instead

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agoMerge pull request #7528 from objoo/YD-jewel-mailmap-updates-take2
Loic Dachary [Fri, 12 Feb 2016 06:14:17 +0000 (13:14 +0700)]
Merge pull request #7528 from objoo/YD-jewel-mailmap-updates-take2

mailmap updates

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #7609 from dillaman/wip-librbd-flatten-test
Josh Durgin [Fri, 12 Feb 2016 05:10:13 +0000 (21:10 -0800)]
Merge pull request #7609 from dillaman/wip-librbd-flatten-test

test: new librbd flatten test case

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #7583 from dillaman/wip-librbd-journal-fsx
Josh Durgin [Fri, 12 Feb 2016 05:09:01 +0000 (21:09 -0800)]
Merge pull request #7583 from dillaman/wip-librbd-journal-fsx

librbd: integrate journal replay with fsx testing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #7613 from wjwithagen/patch-1
Sage Weil [Thu, 11 Feb 2016 21:32:44 +0000 (16:32 -0500)]
Merge pull request #7613 from wjwithagen/patch-1

osd: add missing newline to usage message

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agosrc/ceph_osd.cc Add missing newline to usage message 7613/head
Willem Jan Withagen [Thu, 11 Feb 2016 18:18:19 +0000 (19:18 +0100)]
src/ceph_osd.cc Add missing newline to usage message

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
9 years agocommon: fix build error with Graylog
Sage Weil [Thu, 11 Feb 2016 18:24:29 +0000 (13:24 -0500)]
common: fix build error with Graylog

Graylog includes boost stuff, which clobbers our assert macros.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6920 from oritwas/wip-mstart-cmake
Casey Bodley [Thu, 11 Feb 2016 17:43:04 +0000 (12:43 -0500)]
Merge pull request #6920 from oritwas/wip-mstart-cmake

ajdust mstart and mstop script to run with cmake build

9 years agoMerge pull request #7523 from tchaikov/wip-fix-cmake
Ali Maredia [Thu, 11 Feb 2016 17:40:41 +0000 (12:40 -0500)]
Merge pull request #7523 from tchaikov/wip-fix-cmake

cmake: fix the build of tests

9 years agoMerge pull request #7607 from FlorentCoppint/master
Sage Weil [Thu, 11 Feb 2016 17:30:54 +0000 (12:30 -0500)]
Merge pull request #7607 from FlorentCoppint/master

mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by mount command

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agotest: new librbd flatten test case 7609/head
Jason Dillaman [Tue, 2 Feb 2016 15:54:53 +0000 (10:54 -0500)]
test: new librbd flatten test case

AIO operations after a flatten operation were previously
hanging during the close of the parent image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agoBetter parsing of arguments passed to mount.fuse.ceph by mount command. 7607/head
Florent [Thu, 11 Feb 2016 13:51:49 +0000 (14:51 +0100)]
Better parsing of arguments passed to mount.fuse.ceph by mount command.

Signed-off-by: Florent Bautista <florent@coppint.com>
9 years agoMerge pull request #5961 from majianpeng/small-fix
Sage Weil [Thu, 11 Feb 2016 13:46:22 +0000 (08:46 -0500)]
Merge pull request #5961 from majianpeng/small-fix

osd: clean up CMPXATTR checks

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7533 from Cdiscount/master
Sage Weil [Thu, 11 Feb 2016 13:45:17 +0000 (08:45 -0500)]
Merge pull request #7533 from Cdiscount/master

debian: include cpio in build-requiers

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7537 from ifed01/wip-no-promote-for-delete-fix
Sage Weil [Thu, 11 Feb 2016 13:44:35 +0000 (08:44 -0500)]
Merge pull request #7537 from ifed01/wip-no-promote-for-delete-fix

osd: fix unnecessary object promotion when deleting from cache pool

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7567 from branch-predictor/bp-slimdown-conns
Sage Weil [Thu, 11 Feb 2016 13:43:46 +0000 (08:43 -0500)]
Merge pull request #7567 from branch-predictor/bp-slimdown-conns

msg: significantly reduce minimal memory usage of connections

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7579 from javacruft/wip-systemd-escaping
Sage Weil [Thu, 11 Feb 2016 13:42:50 +0000 (08:42 -0500)]
Merge pull request #7579 from javacruft/wip-systemd-escaping

systemd: correctly escape block device paths

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7581 from jcsp/wip-asok-lockdep
Sage Weil [Thu, 11 Feb 2016 13:42:26 +0000 (08:42 -0500)]
Merge pull request #7581 from jcsp/wip-asok-lockdep

librados: mix lock cycle (un)registering asok commands

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7604 from ceph/wip-selinux-update-radosgw-log
Sage Weil [Thu, 11 Feb 2016 13:37:50 +0000 (08:37 -0500)]
Merge pull request #7604 from ceph/wip-selinux-update-radosgw-log

selinux: allow log files to be located in /var/log/radosgw

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7606 from tchaikov/wip-fix-ceph-disk
Loic Dachary [Thu, 11 Feb 2016 12:18:34 +0000 (19:18 +0700)]
Merge pull request #7606 from tchaikov/wip-fix-ceph-disk

tests: ceph-disk.sh: use "readlink -f" instead for fullpath

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agotests: ceph-disk.sh: use "readlink -f" instead for fullpath 7606/head
Kefu Chai [Thu, 11 Feb 2016 12:08:32 +0000 (20:08 +0800)]
tests: ceph-disk.sh: use "readlink -f" instead for fullpath

if $PATH has ".." in it, and the program happen to be located in
"..", `which program` will print `../program` instead of its fullpath,
so we should always use `readlink -f` for the fullpath.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoselinux: Allow log files to be located in /var/log/radosgw 7604/head
Boris Ranto [Thu, 11 Feb 2016 11:03:06 +0000 (12:03 +0100)]
selinux: Allow log files to be located in /var/log/radosgw

We do suggest users to put their logs in /var/log/radosgw in the
documentation at times. We should also label that directory with
ceph_var_log_t so that ceph daemons can also write there.

The commit also updates the man page for this policy. This man page is
automatically generated by

* sepolicy manpage -p . -d ceph_t

and have not been reloaded in a while. Hence, it contains few more
changes than the new radosgw directory.

Signed-off-by: Boris Ranto <branto@redhat.com>
9 years agoMerge pull request #7601 from jjhuo/master
Haomai Wang [Thu, 11 Feb 2016 06:36:01 +0000 (14:36 +0800)]
Merge pull request #7601 from jjhuo/master

os/bluestore: fix a typo in SPDK path parsing

Reviewed-by: Haomai Wang <haomai@xsky.com>
9 years agoos/bluestore: fix a typo in SPDK path parsing 7601/head
Jianjian Huo [Thu, 11 Feb 2016 01:44:33 +0000 (20:44 -0500)]
os/bluestore: fix a typo in SPDK path parsing

SPDK block path with bluestore is something like spdk:55cd2e404bd73932.
The size of the prefix to compare should be 5.
sizeof(SPDK_PREFIX)-1 returns 5, while sizeof(SPDK_PREFIX-1) returns 8.

Signed-off-by: Jianjian Huo <samuel.huo@gmail.com>
9 years agolibrbd: protect journal replay against overlapping writes 7583/head
Jason Dillaman [Thu, 11 Feb 2016 00:06:02 +0000 (19:06 -0500)]
librbd: protect journal replay against overlapping writes

If fsx issues a back-to-back synchronous write, these will be
replayed as AIO writes.  If object map is enabled, it's possible
for the two writes to commit to disk out-of-order if the first
write required an object map update.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agolibrbd: track in-flight AIO flush requests during journal replay
Jason Dillaman [Wed, 10 Feb 2016 22:40:42 +0000 (17:40 -0500)]
librbd: track in-flight AIO flush requests during journal replay

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agotest: possible librbd journal replay flush race
Jason Dillaman [Wed, 10 Feb 2016 22:39:36 +0000 (17:39 -0500)]
test: possible librbd journal replay flush race

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7588 from dmick/master
Sage Weil [Wed, 10 Feb 2016 21:02:11 +0000 (16:02 -0500)]
Merge pull request #7588 from dmick/master

common/page.cc: _page_mask has too many bits

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7413 from YankunLi/dev
Yehuda Sadeh [Wed, 10 Feb 2016 19:16:30 +0000 (11:16 -0800)]
Merge pull request #7413 from YankunLi/dev

rgw: remove duplicated code in RGWRados::get_bucket_info()

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge branch 'wip-11642-0203'
Yehuda Sadeh [Wed, 10 Feb 2016 19:15:49 +0000 (11:15 -0800)]
Merge branch 'wip-11642-0203'

9 years agorgw: make function parameter 'errordoc_key' passed by reference
Bo Cai [Wed, 3 Feb 2016 08:49:50 +0000 (16:49 +0800)]
rgw: make function parameter 'errordoc_key' passed by reference

Signed-off-by: Bo Cai <cai.bo@h3c.com>
9 years agoMerge branch 'master' of github.com:ceph/ceph
Sage Weil [Wed, 10 Feb 2016 18:58:50 +0000 (13:58 -0500)]
Merge branch 'master' of github.com:ceph/ceph

9 years agoMerge pull request #7544 from ceph/wip-rh-covscan
Yehuda Sadeh [Wed, 10 Feb 2016 19:03:04 +0000 (11:03 -0800)]
Merge pull request #7544 from ceph/wip-rh-covscan

rgw/rgw_orphan: check the return value of save_state

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge pull request #7586 from bsedyang/master
Yehuda Sadeh [Wed, 10 Feb 2016 19:01:54 +0000 (11:01 -0800)]
Merge pull request #7586 from bsedyang/master

rgw: user quota may not adjust on bucket removal

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agodoc/release-notes: v10.0.3
Sage Weil [Wed, 10 Feb 2016 18:57:37 +0000 (13:57 -0500)]
doc/release-notes: v10.0.3

Finalized release notes.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoAdd better documentation of --setuser and --setgroup options for ceph-disk. 7351/head
Mike Shuey [Wed, 10 Feb 2016 14:36:40 +0000 (09:36 -0500)]
Add better documentation of --setuser and --setgroup options for ceph-disk.

Signed-off-by: Mike Shuey <shuey@purdue.edu>
9 years agoAdd --setuser and --setgroup options to ceph-disk(8).
Mike Shuey [Mon, 25 Jan 2016 21:12:35 +0000 (16:12 -0500)]
Add --setuser and --setgroup options to ceph-disk(8).

Signed-off-by: Mike Shuey <shuey@purdue.edu>
9 years agoAdd support to override ceph-disk's user and group choices
Mike Shuey [Mon, 25 Jan 2016 19:36:26 +0000 (14:36 -0500)]
Add support to override ceph-disk's user and group choices

Signed-off-by: Mike Shuey <shuey@purdue.edu>
9 years agoMerge pull request #7592 from dachary/wip-release-notes
Sage Weil [Wed, 10 Feb 2016 14:24:35 +0000 (09:24 -0500)]
Merge pull request #7592 from dachary/wip-release-notes

release-notes: draft v10.0.3 release notes

9 years agoMerge pull request #7594 from tchaikov/fix-ceph-disk-test
Loic Dachary [Wed, 10 Feb 2016 13:58:53 +0000 (20:58 +0700)]
Merge pull request #7594 from tchaikov/fix-ceph-disk-test

tests: ceph-disk.sh: should use "readlink -f" instead

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agotests: ceph-disk.sh: should use "readlink -f" instead 7594/head
Kefu Chai [Wed, 10 Feb 2016 13:30:46 +0000 (21:30 +0800)]
tests: ceph-disk.sh: should use "readlink -f" instead

turns out trusty does not have `realpath` unless the package named
`realpath` is installed.

Reported-by: Joao Eduardo Luis <joao@suse.de>
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agorelease-notes: draft v10.0.3 release notes 7592/head
Loic Dachary [Wed, 10 Feb 2016 09:19:06 +0000 (16:19 +0700)]
release-notes: draft v10.0.3 release notes

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agoscripts: ceph-release-notes fix merge messages handling
Loic Dachary [Wed, 10 Feb 2016 08:14:31 +0000 (15:14 +0700)]
scripts: ceph-release-notes fix merge messages handling

Strip the title line if it is the same as the pr title instead of
ignoring the message entirely.

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agocmake: remove Boost libraries from EXTRALIBS 7523/head
Kefu Chai [Wed, 10 Feb 2016 05:23:07 +0000 (21:23 -0800)]
cmake: remove Boost libraries from EXTRALIBS

* and remove ${Boost_SYSTEM_LIBRARY} from test_rados_api_tier

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolog: remove "boost/asio.hpp" from Log.h
Kefu Chai [Fri, 5 Feb 2016 07:56:55 +0000 (15:56 +0800)]
log: remove "boost/asio.hpp" from Log.h

graylog uses boost/asio.hpp which introduces the link-time dependency on
libboost_system to the compilation units which includes Log.h and
LogClient.h. so it appears that perfglue/heap_profiler.cc is referencing
libboost_system.so, and fails the cmake build of all tests which links
against tcmalloc.

in this change, we:

* remove unnecessary #includes from Graylog.h
* forward declare Graylog class, so that "Graylog.h" is not included in
  any header files to avoid the link-time dependency pollution

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agocmake: disable warnings introduced by 457f023
Kefu Chai [Wed, 10 Feb 2016 05:16:34 +0000 (21:16 -0800)]
cmake: disable warnings introduced by 457f023

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoRevert "cmake: add libboost_system to EXTRALIBS"
Kefu Chai [Sat, 6 Feb 2016 00:59:32 +0000 (08:59 +0800)]
Revert "cmake: add libboost_system to EXTRALIBS"

This reverts commit 21438a6773a3153556de07096919ab46c4540eee.

Signed-off-by: Kefu Chai <kchai@redhat.com>