Enable libs3 support for debian packages
mongoose: submodule, v4.1

add mongoose as a submodule.
rgw: rebase mongoose prototype

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: support for mongoose keepalive

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: configurable mongoose port

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: add SERVER_PORT to mongoose environment

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: update code to handle mongoose v4.1

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: support http/1.0 keep-alive response (mongoose)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: refactor request handling processing

Remove all duplicate code for different handlers.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: more flexible frotnend handler config

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: clean up front end configuration

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: clean up shutdown signaling

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: allow multiple frontends of the same framework

it is possible to set up mongoose on multiple ports, e.g.,

  rgw frontends = mongoose:80, mongoose:8080

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
filejournal: add journal pre-allocate for osx

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
rgw: fix reading bucket policy in RGWBucket::get_policy()

Fixes: 6940
Backport: dumpling, emperor

We changed the way we keep the bucket policy, and we shouldn't try to
access the bucket object directly. This had changed when we added the
bucket instance object around dumpling.

Reported-by: Gao, Wei M <wei.m.gao@intel.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: rework framework configuration

The framework config code is now more generic and ready for multiple
config options. Different frameworks are comma separated and each
framework's config list is separated by space. Each config value is in
the key[=value] format. E.g.,

rgw framework = fastcgi, mongoose port=8080

Fastcgi socket configurables can now be set via this config line (either
socket_path, or socket_host + socket_port), e.g.,

rgw framework = fastcgi socket_path=/var/run/radosgw/rgw.sock

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
ReplicatedPG: copy: switch out the CopyCallback interface

The tuple was already unwieldy with 4 members; I didn't want to add
more. Instead, create a new CopyResults struct which contains all the
object info and completion data, and pass the retval and a CopyResults*
in the CopyCallbackResults tuple.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
ReplicatedPG: copy: don't return from finish_copyfrom

The return value is meaningless; nothing in this function can fail.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
ReplicatedPG: promote: first draft pass at doing object promotion

This is not yet at all complete -- among other things, it will
retry forever on any object which doesn't exist in the underlying
pool. But it demonstrates the approach reasonably clearly.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>y
ReplicatedPG: promote: add the OpRequest to the Callback

This way we can do stuff to it, and we're about to.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>