]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoRename test/filestore to test/objectstore 1168/head
Haomai Wang [Sat, 8 Feb 2014 07:41:52 +0000 (15:41 +0800)]
Rename test/filestore to test/objectstore

Now ObjectStore support three backend types, so we need to make each backend
share unit test to avoid duplicate codes.

This patch mainly make workload_generator workable for objectstore.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Wed, 29 Jan 2014 14:59:23 +0000 (06:59 -0800)]
Merge remote-tracking branch 'gh/next'

11 years agokeyvaluestore: name to keyvaluetore-dev for now
Sage Weil [Wed, 29 Jan 2014 14:40:29 +0000 (06:40 -0800)]
keyvaluestore: name to keyvaluetore-dev for now

This helps warn the user that the ondisk format may be subject to change.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1158 from yuyuyu101/keyvaluestore-dev
Sage Weil [Wed, 29 Jan 2014 14:38:03 +0000 (06:38 -0800)]
Merge pull request #1158 from yuyuyu101/keyvaluestore-dev

Keyvaluestore Support

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMake ObjectStore unit tests shared with KeyValueStore 1158/head
Haomai Wang [Wed, 29 Jan 2014 13:50:29 +0000 (21:50 +0800)]
Make ObjectStore unit tests shared with KeyValueStore

Via gtest's value-parameterized feature, let the successors of
ObjectStore share the same unit tests.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agoAdd KeyValueStore implementation
Haomai Wang [Wed, 29 Jan 2014 09:50:10 +0000 (17:50 +0800)]
Add KeyValueStore implementation

KeyValueStore is another ObjectStore implementation with FileStore. It
uses KV store wrapper(StripObjectMap) which inherited GenericObjectMap
to implement ObjectStore APIs.

Each object has a header key in KV backend, which encapsulated the metadata
of object such as size, the status of keys. A complete object data maybe spread
around multi keys. The CRUD operation of object need to access the header key
of object to know the details, then the actual data keys will be get.

Now the actual KV backend of KeyValueStore is only LevelDB, more KV backend
(RocksDB, NVM API) will be introduced in the near future.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agodocs: Typo in CloudStack user creation
Wido den Hollander [Wed, 29 Jan 2014 11:16:05 +0000 (12:16 +0100)]
docs: Typo in CloudStack user creation

11 years agodocs: Improve CloudStack documentation.
Wido den Hollander [Wed, 29 Jan 2014 10:08:08 +0000 (11:08 +0100)]
docs: Improve CloudStack documentation.

Add a section about creating a CephX user for CloudStack.

11 years agoAdd a new KV wrapper GenericObjectMap
Haomai Wang [Wed, 29 Jan 2014 09:46:00 +0000 (17:46 +0800)]
Add a new KV wrapper GenericObjectMap

Now we already have DBObjectMap which implement ObjectMap and other
interfaces, and ObjectMap.h implied that ObjectMap is used to encapsulates
the FileStore key value store. There exists limitation in current DBObjectMap
implementation, such as lacking of "coll_t" in "key", complicated prefix
hard-coded and inflexible extending.

So in order to provide a more flexible API and clear implementation to wrap KV
store, I copy the origin DBObjectMap and redesign the partial implementation.
Adding "coll_t" argument to all API and export "prefix" to callers. Prefixes
are divided into two parts "INTERN" and "USER". "INTERN" keys used by self to
manage and "USER" keys are managed by callers. Besides above, misc fixes are
imported such as more clear member function name and extendible header
structure.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agocivetweb: fix warning
Sage Weil [Wed, 29 Jan 2014 05:08:03 +0000 (21:08 -0800)]
civetweb: fix warning

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocls_user: init cls_user_list_buckets_op fields
Sage Weil [Wed, 29 Jan 2014 04:08:18 +0000 (20:08 -0800)]
cls_user: init cls_user_list_buckets_op fields

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocls_user: init cls_user_stats fields in ctor
Sage Weil [Wed, 29 Jan 2014 04:07:00 +0000 (20:07 -0800)]
cls_user: init cls_user_stats fields in ctor

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoOSDMap: fix deepish_copy_from
Sage Weil [Wed, 29 Jan 2014 02:46:37 +0000 (18:46 -0800)]
OSDMap: fix deepish_copy_from

Start with a shallow copy!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1155 from ceph/wip-7190
Gregory Farnum [Tue, 28 Jan 2014 21:14:59 +0000 (13:14 -0800)]
Merge pull request #1155 from ceph/wip-7190

OSD: don't assume we have the pool in handle_pg_create
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1154 from ceph/wip-7169-2
Josh Durgin [Tue, 28 Jan 2014 21:13:59 +0000 (13:13 -0800)]
Merge pull request #1154 from ceph/wip-7169-2

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoOSD: don't assume we have the pool in handle_pg_create 1155/head
Samuel Just [Tue, 28 Jan 2014 20:46:46 +0000 (12:46 -0800)]
OSD: don't assume we have the pool in handle_pg_create

The pool may have been removed since the creation message
was sent.  Previously, role would end up as -1 and this
path would be avoided.

Fixes: 7190
Introduced in 268ae82ac3fe7b541c450aae168dcf9fa7294508
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoleveldb: add leveldb_* options
Sage Weil [Tue, 28 Jan 2014 20:18:15 +0000 (12:18 -0800)]
leveldb: add leveldb_* options

The osd_leveldb_* and mon_leveldb_* are now deprecated.  If they are
still used, they override these values.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agorgw: fix multipart min part size 1154/head
Yehuda Sadeh [Mon, 27 Jan 2014 22:11:43 +0000 (14:11 -0800)]
rgw: fix multipart min part size

As part of the fix for wip-7169 it turned out that we removed
min_part_size. Looking back, the original implementation was broken
anyway and didn't do anything. This fixes it and makes it configurable.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoAdd a virtual interface init, open, create_and_open to KeyValueDB
Sage Weil [Tue, 28 Jan 2014 20:14:42 +0000 (12:14 -0800)]
Add a virtual interface init, open, create_and_open to KeyValueDB

This will provide an opportunity to set leveldb_* settings in the next
patch.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agorgw: fix multipart upload listing
Yehuda Sadeh [Fri, 17 Jan 2014 17:30:30 +0000 (09:30 -0800)]
rgw: fix multipart upload listing

Fixes: #7169
A separate fix has been created for dumpling.

Previously we read the entire list of parts, disregarding the actual
marker and the requested max parts. This fix refactors the way we read
the list of parts (doing it in parts, using marker).

Create new upload-id format that is used to identify uploads with sorted
omap entries. Make sure we're backward compatible and handle correctly
mixed-versions rgw uploads.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoosd: OSDMonitor: ignore pgtemps from removed pool
Joao Eduardo Luis [Tue, 28 Jan 2014 15:54:33 +0000 (15:54 +0000)]
osd: OSDMonitor: ignore pgtemps from removed pool

There's a window in-between receiving an MOSDPGTemp message from an OSD
and actually handling it that may lead to the pool the pg temps refer to
no longer existing. This may happen if the MOSDPGTemp message is queued
pending dispatching due to an on-going proposal (maybe even the pool
removal).

This patch fixes such behavior in two steps:

1. Check if the pool exists in the osdmap upon preprocessing
 - if pool does not exist in the osdmap, then the pool must have been
   removed prior to handling the message, but after the osd sent it.
 - safe to ignore the pg update
2. If all pg updates in the message have been ignored, ignore the whole
   message.  Otherwise, let prepare handle the rest.

3. Recheck if pool exists in the osdmap upon prepare
 - We may have ignored this pg back in preprocess, but other pgs in the
   message may have led the message to be passed on to prepare; ignore
   pg update once more.
4. Check if pool is pending removal and ignore pg update if so.

We delegate checking the pending value to prepare_pgtemp() because in this
case we should only ignore the update IFF the pending value is in fact
committed.  Otherwise we should retry the message.  prepare_pgtemp() is
the appropriate place to do so.

Fixes: 7116
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit f513f66f48383a07c70ca18a4dba6c2449ea9860)

11 years agoMerge pull request #1153 from ceph/wip-7116-joao
Sage Weil [Tue, 28 Jan 2014 19:18:48 +0000 (11:18 -0800)]
Merge pull request #1153 from ceph/wip-7116-joao

osd: OSDMonitor: ignore pgtemps from removed pool

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agobuffer: make 0-length splice() a no-op
Sage Weil [Tue, 28 Jan 2014 18:26:12 +0000 (10:26 -0800)]
buffer: make 0-length splice() a no-op

This was causing a problem in the Striper, but fixing it here will avoid
corner cases all over the tree.  Note that we have to bail out before
the end-of-buffer check to avoid hitting that check when the bufferlist is
also empty.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agotest/Makefile.am: update test_cls_rgw* rules
Yehuda Sadeh [Tue, 28 Jan 2014 18:24:40 +0000 (10:24 -0800)]
test/Makefile.am: update test_cls_rgw* rules

Need to link with libcls_user_client.a

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agotest_rgw_admin_opstate: get it compiled
Yehuda Sadeh [Tue, 28 Jan 2014 18:23:59 +0000 (10:23 -0800)]
test_rgw_admin_opstate: get it compiled

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1137 from ceph/wip-7060
Gregory Farnum [Tue, 28 Jan 2014 18:10:41 +0000 (10:10 -0800)]
Merge pull request #1137 from ceph/wip-7060

fix #7060 mon scrub problem due to osdmap copying

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosdc/Striper: test zero-length add_partial_result
Sage Weil [Tue, 28 Jan 2014 18:09:17 +0000 (10:09 -0800)]
osdc/Striper: test zero-length add_partial_result

If we add a partial result that is 0-length, we used to hit an assert in
buffer::list::splice().  Add a unit test to verify the fix.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosd: OSDMonitor: ignore pgtemps from removed pool 1153/head
Joao Eduardo Luis [Tue, 28 Jan 2014 15:54:33 +0000 (15:54 +0000)]
osd: OSDMonitor: ignore pgtemps from removed pool

There's a window in-between receiving an MOSDPGTemp message from an OSD
and actually handling it that may lead to the pool the pg temps refer to
no longer existing. This may happen if the MOSDPGTemp message is queued
pending dispatching due to an on-going proposal (maybe even the pool
removal).

This patch fixes such behavior in two steps:

1. Check if the pool exists in the osdmap upon preprocessing
 - if pool does not exist in the osdmap, then the pool must have been
   removed prior to handling the message, but after the osd sent it.
 - safe to ignore the pg update
2. If all pg updates in the message have been ignored, ignore the whole
   message.  Otherwise, let prepare handle the rest.

3. Recheck if pool exists in the osdmap upon prepare
 - We may have ignored this pg back in preprocess, but other pgs in the
   message may have led the message to be passed on to prepare; ignore
   pg update once more.
4. Check if pool is pending removal and ignore pg update if so.

We delegate checking the pending value to prepare_pgtemp() because in this
case we should only ignore the update IFF the pending value is in fact
committed.  Otherwise we should retry the message.  prepare_pgtemp() is
the appropriate place to do so.

Fixes: 7116
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #1105 from ceph/wip-7168
Josh Durgin [Tue, 28 Jan 2014 02:14:36 +0000 (18:14 -0800)]
Merge pull request #1105 from ceph/wip-7168

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoOSDMap: use deepish_copy_from in remove_redundant_temporaries 1137/head
Sage Weil [Tue, 28 Jan 2014 01:13:19 +0000 (17:13 -0800)]
OSDMap: use deepish_copy_from in remove_redundant_temporaries

Better not to open-code it.  We do a bit of extra work here, but it's worth
it.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1080 from onlyjob/master
Josh Durgin [Mon, 27 Jan 2014 22:57:06 +0000 (14:57 -0800)]
Merge pull request #1080 from onlyjob/master

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoOSDMap: fix damaging input osdmap from remove_down_temps
Sage Weil [Fri, 24 Jan 2014 19:04:37 +0000 (11:04 -0800)]
OSDMap: fix damaging input osdmap from remove_down_temps

The default copy constructor copies shared_ptrs do vectors that are then
modified by apply_incremental, which means that the const osdmap argument
isn't in fact const.  Fix this by doing a deep(ish) copy.

Fixes: #7060
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoOSDMap: deepish_copy_from()
Sage Weil [Fri, 24 Jan 2014 19:03:26 +0000 (11:03 -0800)]
OSDMap: deepish_copy_from()

Make a deep(ish) copy of another OSDMap.  Unfortunatley we can't make the
compiler-generated copy operator/constructors private until c++11.  :(

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agopackaging: apply udev hack rule to RHEL
Derek Yarnell [Mon, 27 Jan 2014 19:27:51 +0000 (12:27 -0700)]
packaging: apply udev hack rule to RHEL

In the RPM spec file there is a test to deploy the uuid hack udev rules
for older udev operating systems. This includes CentOS and RHEL, but the
check currently only is for CentOS, causing RHEL clients to get a bogus
osd rules file.

Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel}
macro is defined in both platforms' redhat-rpm-config package.)

Fixes http://tracker.ceph.com/issues/7245

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
(cherry picked from commit 64a0b4fa563795bc22753940aa3a4a2946113109)

11 years agoMerge pull request #1149 from kdreyer-inktank/wip-7245-redhat-udev
Sage Weil [Mon, 27 Jan 2014 21:49:56 +0000 (13:49 -0800)]
Merge pull request #1149 from kdreyer-inktank/wip-7245-redhat-udev

packaging: apply udev hack rule to RHEL

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Derek Yarnell <derek@umiacs.umd.edu>
11 years agopackaging: apply udev hack rule to RHEL 1149/head
Derek Yarnell [Mon, 27 Jan 2014 19:27:51 +0000 (12:27 -0700)]
packaging: apply udev hack rule to RHEL

In the RPM spec file there is a test to deploy the uuid hack udev rules
for older udev operating systems. This includes CentOS and RHEL, but the
check currently only is for CentOS, causing RHEL clients to get a bogus
osd rules file.

Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel}
macro is defined in both platforms' redhat-rpm-config package.)

Fixes http://tracker.ceph.com/issues/7245

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
11 years agoMerge branch 'wip-user-quota-2'
Yehuda Sadeh [Mon, 27 Jan 2014 19:27:56 +0000 (11:27 -0800)]
Merge branch 'wip-user-quota-2'

Conflicts:
src/common/config_opts.h
src/rgw/rgw_common.h
src/rgw/rgw_json_enc.cc
src/rgw/rgw_quota.cc
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/rgw/rgw_user.cc
src/rgw/rgw_user.h

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1143 from dachary/wip-vstart-disk-usage
Sage Weil [Sun, 26 Jan 2014 20:14:29 +0000 (12:14 -0800)]
Merge pull request #1143 from dachary/wip-vstart-disk-usage

unittests: fail early when low on disk

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1003 from dachary/wip-handle-forward-unittest
Loic Dachary [Sun, 26 Jan 2014 13:25:36 +0000 (05:25 -0800)]
Merge pull request #1003 from dachary/wip-handle-forward-unittest

mon: test for MForward messages

Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
11 years agomon: test for MForward messages 1003/head
Loic Dachary [Fri, 27 Dec 2013 10:18:59 +0000 (11:18 +0100)]
mon: test for MForward messages

Creates two mons, send a mon command to the peon and check that the
command is forwarded to the leader.

Add a test to check that the connection features of the client are
preserved when the message reaches the leader.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: shell test helpers to run MONs from sources
Loic Dachary [Wed, 8 Jan 2014 11:41:06 +0000 (12:41 +0100)]
mon: shell test helpers to run MONs from sources

The intent is to make it more convenient to reproduce a specific mon
behavior and observe the result by grepping the logs. It can be handy
for bug diagnostic. The test could be included as a unit test to
be run on make check.

The setup function will prepare a directory and kill leftover from a
previous run. The teardown function cleans up on success. The run
function is expected to be provided by the calling script and can make
use of the run_mon function to mkfs + run a monitor.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agounittests: fail early when low on disk 1143/head
Loic Dachary [Sun, 26 Jan 2014 12:32:57 +0000 (13:32 +0100)]
unittests: fail early when low on disk

Scripts from qa that are run as unittests via test/vstart_wrapper.sh may
fail because the partition on which it runs is low on space ( 95% full
). When it happens the cause of the problem may be unclear because it
is likely to show only as a client not being able to reach the mon.

A test is added in test/vstart_wrapper.sh to verify the disk space usage
using the same method as the mon would and fail with a detailed error if
it is the case.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agorgw: simplify a code path 1138/head
Yehuda Sadeh [Fri, 24 Jan 2014 23:33:57 +0000 (15:33 -0800)]
rgw: simplify a code path

remove some duplicate code.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: add usage for user stats [--sync-stats]
Yehuda Sadeh [Fri, 24 Jan 2014 23:25:51 +0000 (15:25 -0800)]
radosgw-admin: add usage for user stats [--sync-stats]

add missing usage

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agodoc: Switched logging to true. Now required for sync agent.
John Wilkins [Fri, 24 Jan 2014 23:11:32 +0000 (15:11 -0800)]
doc: Switched logging to true. Now required for sync agent.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agocls_user: add generate_test_instances() implementation
Yehuda Sadeh [Fri, 24 Jan 2014 23:01:01 +0000 (15:01 -0800)]
cls_user: add generate_test_instances() implementation

to all the encoded/decoded stuff

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw, cls_user: handle error cases related to response decoding
Yehuda Sadeh [Fri, 24 Jan 2014 01:04:06 +0000 (17:04 -0800)]
rgw, cls_user: handle error cases related to response decoding

Certain operations weren't handling errors in decode, add some missing
logic.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: implement restful set user quota request
Yehuda Sadeh [Wed, 15 Jan 2014 22:35:57 +0000 (14:35 -0800)]
rgw: implement restful set user quota request

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: new restful api for retrieving user quota info
Yehuda Sadeh [Wed, 15 Jan 2014 19:36:47 +0000 (11:36 -0800)]
rgw: new restful api for retrieving user quota info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: quota thread for full user stats sync
Yehuda Sadeh [Tue, 14 Jan 2014 22:48:16 +0000 (14:48 -0800)]
rgw: quota thread for full user stats sync

Get user stats up to date periodically. Add configurables for different
periods, whether we update idle users.
Make sure radosgw-admin does not start the quota threads.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: round bytes to the next 4k for quota use
Yehuda Sadeh [Tue, 14 Jan 2014 08:18:52 +0000 (00:18 -0800)]
rgw: round bytes to the next 4k for quota use

Be more consistent as we round it like this in the objclass, so we need
the accounting to match.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: sync bucket stats thread
Yehuda Sadeh [Tue, 14 Jan 2014 05:50:32 +0000 (21:50 -0800)]
rgw: sync bucket stats thread

a new thread that periodically sync stats of recently modified buckets.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw, cls_user: fix bucket creation
Yehuda Sadeh [Mon, 13 Jan 2014 22:19:27 +0000 (14:19 -0800)]
rgw, cls_user: fix bucket creation

There's a single op to create and update the user bucket info, however,
the cases differ a bit, as we only need to guard against ENOENT if we're
updating the info.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: dump header when requested for user stats
Yehuda Sadeh [Mon, 13 Jan 2014 21:21:27 +0000 (13:21 -0800)]
radosgw-admin: dump header when requested for user stats

header also contains sync timestamps, so we should dump it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: update stats sync completion
Yehuda Sadeh [Mon, 13 Jan 2014 21:20:08 +0000 (13:20 -0800)]
radosgw-admin: update stats sync completion

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls_user: op to keep track of sync completion time
Yehuda Sadeh [Mon, 13 Jan 2014 20:42:07 +0000 (12:42 -0800)]
cls_user: op to keep track of sync completion time

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls_user: keep time info about stats update
Yehuda Sadeh [Mon, 13 Jan 2014 20:31:26 +0000 (12:31 -0800)]
cls_user: keep time info about stats update

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls_user: header cleanup
Yehuda Sadeh [Mon, 13 Jan 2014 19:01:59 +0000 (11:01 -0800)]
cls_user: header cleanup

put stats under a new struct

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: user quota should rely on cached info
Yehuda Sadeh [Mon, 13 Jan 2014 18:23:30 +0000 (10:23 -0800)]
rgw: user quota should rely on cached info

user quota should rely on cached info if it says that we're at the
limit, since backend info might not be up to date.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: more quota fixes
Yehuda Sadeh [Sat, 11 Jan 2014 01:33:59 +0000 (17:33 -0800)]
rgw: more quota fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: configure user quota also through region map
Yehuda Sadeh [Sat, 11 Jan 2014 01:32:35 +0000 (17:32 -0800)]
rgw: configure user quota also through region map

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: more rgw_quota fixes
Yehuda Sadeh [Sat, 11 Jan 2014 00:50:49 +0000 (16:50 -0800)]
rgw: more rgw_quota fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: some quota fixes
Yehuda Sadeh [Sat, 11 Jan 2014 00:28:24 +0000 (16:28 -0800)]
rgw: some quota fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: enable user quota
Yehuda Sadeh [Fri, 10 Jan 2014 23:38:37 +0000 (15:38 -0800)]
rgw: enable user quota

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: user quota interface
Yehuda Sadeh [Fri, 10 Jan 2014 23:11:08 +0000 (15:11 -0800)]
radosgw-admin: user quota interface

also add needed functionality in RGWUser

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: some fixes
Yehuda Sadeh [Fri, 10 Jan 2014 22:46:01 +0000 (14:46 -0800)]
rgw: some fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: implement quota handlers for user stats
Yehuda Sadeh [Fri, 10 Jan 2014 22:35:31 +0000 (14:35 -0800)]
rgw: implement quota handlers for user stats

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: extend infrastructure to handle user stats read
Yehuda Sadeh [Fri, 10 Jan 2014 21:44:56 +0000 (13:44 -0800)]
rgw: extend infrastructure to handle user stats read

Some helper functions that return data in required format for quota, add
async functions.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: move some code around, no actual changes
Yehuda Sadeh [Fri, 10 Jan 2014 18:46:11 +0000 (10:46 -0800)]
rgw: move some code around, no actual changes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: refactor quota cache
Yehuda Sadeh [Fri, 10 Jan 2014 18:42:13 +0000 (10:42 -0800)]
rgw: refactor quota cache

bucket quota cache is going to be reused, add a new abstract layer.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: rename RGWBucketStats to RGWStorageStats
Yehuda Sadeh [Fri, 10 Jan 2014 05:37:34 +0000 (21:37 -0800)]
rgw: rename RGWBucketStats to RGWStorageStats

make it more generic, will be reused for user's stats.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: pass bucket owner all around
Yehuda Sadeh [Thu, 9 Jan 2014 00:39:19 +0000 (16:39 -0800)]
rgw: pass bucket owner all around

User quota operations require that we know who the actual user we do the
operation on is. Pass that info when creating new object and when
removing objects.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: bucket stats --sync-stats [--bucket=...]
Yehuda Sadeh [Wed, 8 Jan 2014 22:15:15 +0000 (14:15 -0800)]
radosgw-admin: bucket stats --sync-stats [--bucket=...]

Sync user stats, either for a single buckets, or for all user's buckets.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls/user: some fixes + handle old buckets case
Yehuda Sadeh [Wed, 8 Jan 2014 22:13:27 +0000 (14:13 -0800)]
cls/user: some fixes + handle old buckets case

If a bucket was created prior to the new accounting, we can't substract
the old values, as the header stats didn't account for them.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw, radosgw-admin, cls/user: retrieve user stats
Yehuda Sadeh [Wed, 8 Jan 2014 01:29:39 +0000 (17:29 -0800)]
rgw, radosgw-admin, cls/user: retrieve user stats

add a new op to retrieve user header, new radosgw-admin command to stat
user.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls/user: a new op to retrieve user header
Yehuda Sadeh [Tue, 7 Jan 2014 22:42:03 +0000 (14:42 -0800)]
cls/user: a new op to retrieve user header

user header holds user total stats

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls/user: accounting functionality
Yehuda Sadeh [Tue, 10 Dec 2013 00:09:41 +0000 (16:09 -0800)]
cls/user: accounting functionality

Keep user total accounting in omap header, handle add/dec functionality.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: move bucket add / remove to new user objclass
Yehuda Sadeh [Sat, 7 Dec 2013 00:23:33 +0000 (16:23 -0800)]
rgw: move bucket add / remove to new user objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: replace user bucket listing with objclass call
Yehuda Sadeh [Fri, 6 Dec 2013 23:22:37 +0000 (15:22 -0800)]
rgw: replace user bucket listing with objclass call

instead of directly accessing the omap operation

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: new user objclass
Yehuda Sadeh [Fri, 6 Dec 2013 15:32:08 +0000 (07:32 -0800)]
rgw: new user objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1102 from ceph/wip-rgw-civetweb-2
Sage Weil [Fri, 24 Jan 2014 16:31:37 +0000 (08:31 -0800)]
Merge pull request #1102 from ceph/wip-rgw-civetweb-2

Wip rgw civetweb 2

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1116 from jcsp/doc_toofull
Josh Durgin [Fri, 24 Jan 2014 06:43:43 +0000 (22:43 -0800)]
Merge pull request #1116 from jcsp/doc_toofull

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1135 from ceph/use-ceph-sharedptr
Josh Durgin [Fri, 24 Jan 2014 06:36:18 +0000 (22:36 -0800)]
Merge pull request #1135 from ceph/use-ceph-sharedptr

libc++: convert tr1 uses

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agolibc++: convert tr1 uses 1135/head
Noah Watkins [Fri, 24 Jan 2014 04:13:57 +0000 (20:13 -0800)]
libc++: convert tr1 uses

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agodoc: Added domain pool, and changed zone configs to use domain tool so they don't...
John Wilkins [Fri, 24 Jan 2014 01:11:59 +0000 (17:11 -0800)]
doc: Added domain pool, and changed zone configs to use domain tool so they don't clash.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Change zone domain to include "domain" so it is clear.
John Wilkins [Fri, 24 Jan 2014 01:11:23 +0000 (17:11 -0800)]
doc: Change zone domain to include "domain" so it is clear.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Added space between {Query_String} and [E=HTTP ... to solve for 500 error.
John Wilkins [Fri, 24 Jan 2014 00:03:25 +0000 (16:03 -0800)]
doc: Added space between {Query_String} and [E=HTTP ... to solve for 500 error.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge pull request #1134 from ceph/wip-backend-uninit-use
athanatos [Thu, 23 Jan 2014 23:44:39 +0000 (15:44 -0800)]
Merge pull request #1134 from ceph/wip-backend-uninit-use

ReplicatedBackend: fix uninitialized use warning/bug

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend: fix uninitialized use warning/bug 1134/head
Greg Farnum [Thu, 23 Jan 2014 23:40:18 +0000 (15:40 -0800)]
ReplicatedBackend: fix uninitialized use warning/bug

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agodoc: Fixed omission of a comma in zone configuration.
John Wilkins [Thu, 23 Jan 2014 21:34:25 +0000 (13:34 -0800)]
doc: Fixed omission of a comma in zone configuration.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoFileStore: perform LFNIndex lookup without holding fdcache lock
Samuel Just [Mon, 4 Nov 2013 22:02:28 +0000 (14:02 -0800)]
FileStore: perform LFNIndex lookup without holding fdcache lock

Fixes: #7207
Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge remote-tracking branch 'origin/next'
Greg Farnum [Thu, 23 Jan 2014 20:47:00 +0000 (12:47 -0800)]
Merge remote-tracking branch 'origin/next'

11 years agomongoose: git rm src/mongoose 1102/head
Yehuda Sadeh [Thu, 23 Jan 2014 19:00:05 +0000 (11:00 -0800)]
mongoose: git rm src/mongoose

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1132 from ceph/wip-erasure-rule
Loic Dachary [Thu, 23 Jan 2014 18:22:49 +0000 (10:22 -0800)]
Merge pull request #1132 from ceph/wip-erasure-rule

osd/OSDMap: do not create erasure rule by default

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agocivetweb: md5.inl -> md5.h
Yehuda Sadeh [Wed, 15 Jan 2014 18:09:03 +0000 (10:09 -0800)]
civetweb: md5.inl -> md5.h

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocivetweb: add include to makefile
Yehuda Sadeh [Wed, 15 Jan 2014 02:25:35 +0000 (18:25 -0800)]
civetweb: add include to makefile

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: modify the civetweb rule
Yehuda Sadeh [Wed, 15 Jan 2014 00:50:19 +0000 (16:50 -0800)]
rgw: modify the civetweb rule

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocivetweb: fix module uri
Yehuda Sadeh [Mon, 23 Dec 2013 06:29:15 +0000 (22:29 -0800)]
civetweb: fix module uri

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocivetweb: update submodule
Yehuda Sadeh [Wed, 15 Jan 2014 23:27:11 +0000 (15:27 -0800)]
civetweb: update submodule

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: switch mongoose to civetweb
Yehuda Sadeh [Mon, 23 Dec 2013 06:16:48 +0000 (22:16 -0800)]
rgw: switch mongoose to civetweb

Fixes: #7054
mongoose is now GPL, using the civetweb fork instead.

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