rgw: date string parsing also parses seconds fraction

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Makefile.am: some more makefile rules fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: cls_log_entry has id field

The id field can be used as the marker for log list / trim
operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: update log APIs to use markers

a few APIs were missing markers, fixed that.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: relax marker requirements for log apis

Don't require start-time, start-marker.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: end-marker serves as last value, not as upperbound

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: modify RGWBucketInfo::creation_time encoding / decoding

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: metadata, data logs can be turned on / off

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
RESTful API implementation for replica_log

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
RESTful implementation to dump regionmap implementation

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
key_value_store: fixup errno handling

Don't use "errno" as a variable name, and include <errno.h>
instead of some of the specific paths.

Signed-off-by: Greg Farnum <greg@inktank.com>
rgw: remove get_bound_info from RGWReplicaLogger

It doesn't have any users and we're about to expose a wrapper class instead.

Signed-off-by: Greg Farnum <greg@inktank.com>
common: move parse_time into utime_t header

Signed-off-by: Greg Farnum <greg@inktank.com>
ceph_json: add a utime_t decoder

This needs to be cleaned up a bit as we don't actually want to
import rgw_common into ceph_json (we'll need to pull the parse_date
out of that and into somewhere more accessible/appropriate).

Signed-off-by: Greg Farnum <greg@inktank.com>
cls_replica_log: implement decode_json for the types

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: rework replica log + RESTful api

Rather than making the caller code handle encode/decode/dump etc,
we introduce an RGWReplicaBounds struct which the RGWReplicaLogger classes
traffic in (instead of the string marker, utime_t time, and list of pairs of
items). Right now this is just referring to cls_replica_log internal structs,
but we use typedefs so that we can cleanly change them over later and avoid
crossing the namespaces too much.

This greatly reduces the amount of code in rgw_rest_replica_log -- hurrah!

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
rgw: replica log RESTful api uses bucket instance id

Modified RESTful api for replica log to use bucket instance id
instead of bucket name.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_log: store info in header, new op to retrieve it

Keep max_timestamp, max_marker. Add a new op to retrieve header.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: RESTful api for shards info

For both mdlog, datalog

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: handle new rest operations

md + data logs, get shard info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>