Commit Graph

41394 Commits

Author SHA1 Message Date
Sage Weil
49d17a1a6e Merge pull request #4401 from yuyuyu101/wip-async-fix-5
Wip async fix 5
2015-04-24 10:43:06 -07:00
Yehuda Sadeh
06d67d9139 rgw_admin: add --remove-bad flag to bucket check
Add this flag so that the bad object will be removed (should be called
only after user has verified that objects content is correct).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-24 09:40:12 -07:00
Yehuda Sadeh
b8beb9be6a Merge pull request #4438 from oritwas/wip-10295
rgw: civetweb should use unique request id

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-24 09:26:24 -07:00
Haomai Wang
8a7e58e2de AsyncMessenger: Don't need to join thread if not started
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-04-24 21:18:50 +08:00
Haomai Wang
0ea0e011a6 Fix clear_pipe after reaping progress
In pipe.cc:1353 we stop this connection and we will let reader and write threads stop. If now reader and writer quit ASAP and we call queue_reap to trigger the reap progress. Now we haven't call "connection_state->clear_pipe(this)" in pipe.cc:1379, so we may assert failure  here.

Fixes: #11381
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-04-24 14:52:36 +08:00
Sage Weil
eb6738c0b5 civetweb: add .gitignore
Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-23 16:03:21 -07:00
Sage Weil
66e90d00dc Merge pull request #4165 from liewegas/wip-post-file
qa/workunits/post-file.sh: s/base-files/aclocal/
2015-04-23 15:39:11 -07:00
Yehuda Sadeh
cc5d34678c rgw: use correct oid when creating gc chains
Fixes: #11447
Backport: hammer

When creating gc chain, use the appropriate oid, otherwise objects will
leak.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-23 15:33:03 -07:00
Sage Weil
74b36c4d30 Merge pull request #4439 from ceph/wip-11453-rgw-init-as-root
#11453 init-radosgw: run RGW as root

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-23 15:05:57 -07:00
Ken Dreyer
47339c5ac3 init-radosgw: run RGW as root
The ceph-radosgw service fails to start if the httpd package is not
installed. This is because the init.d file attempts to start the RGW
process with the "apache" UID. If a user is running civetweb, there is
no reason for the httpd or apache2 package to be present on the system.

Switch the init scripts to use "root" as is done on Ubuntu.

http://tracker.ceph.com/issues/11453 Refs: #11453

Reported-by: Vickey Singh <vickey.singh22693@gmail.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-04-23 15:29:38 -06:00
Orit Wasserman
c26225980c rgw: civetweb should use unique request id
max_req_id was moved to RGWRados and changed to atomic64_t.

The same request id resulted in gc giving the same idtag to all objects
resulting in a leakage of rados objects. It only kept the last deleted object in
it's queue, the previous objects were never freed.

Fixes: 10295
Backport: Hammer, Firefly

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
2015-04-23 19:36:35 +02:00
Josh Durgin
97158dfef3 Merge pull request #4451 from ceph/wip-kfsx-flush-on-discard
test_librbd_fsx: flush before discard in krbd mode

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-23 10:17:39 -07:00
Ilya Dryomov
bd050240ce test_librbd_fsx: flush before discard in krbd mode
We need to sync dirty pages before issuing BLKDISCARD, explained in
a comment.

Fixes: #11448
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2015-04-23 19:31:43 +03:00
Sage Weil
ad4cc4a7c8 Merge pull request #4448 from tchaikov/wip-check-libxml2-and-libcurl
configure.ac: check for libcurl and libxml2 if build libs3

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-23 08:59:12 -07:00
Sage Weil
9d9ad83b28 Merge pull request #4446 from osynge/wip-expat
libexpat is now used for rgw

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-23 08:48:13 -07:00
Kefu Chai
07cfc83de6 Merge pull request #4444 from big-henry/wip-throttle
common: fix Throttle - unable to reenable throttling after disabling it

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-23 23:34:51 +08:00
Henry Chang
92574ab8f6 Throttle: reset max only if max changed
Save some CPU cycles.

Signed-off-by: Henry Chang <henry@bigtera.com>
2015-04-23 22:23:01 +08:00
Henry Chang
d7de5858ca Throttle: fix wait/get() with new max
We were unable to set a new non-zero max if the original max was 0.
Fix it. Also, add test cases for it.

Signed-off-by: Henry Chang <henry@bigtera.com>
2015-04-23 22:23:01 +08:00
Kefu Chai
62522b0345 configure.ac: check for libcurl and libxml2 if build libs3
Fixes: #11458
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-23 20:32:30 +08:00
Kefu Chai
bc8d14db3f Throttle: add more constness
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-23 16:49:54 +08:00
Kefu Chai
127c931ca6 Throttle: improve doxygen comments in Throttle
* reindent a line

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-23 16:49:54 +08:00
Owen Synge
2b2c5d18e1 libexpat is now used for rgw
Check for expat.h
check libexpat has method XML_Parse.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-04-23 10:14:33 +02:00
Josh Durgin
2e8d476e7a Merge pull request #4435 from ceph/wip-11451
rgw: fix s3 list buckets

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-22 16:36:44 -07:00
Yehuda Sadeh
be4355ad8e rgw-admin: a tool to fix object locator issue
Objects that start with underscore need to have an object locator,
this is due to an old behavior that we need to retain. Some objects
might have been created without the locator. This tool creates a new
rados object with the appropriate locator.

Syntax:

$ ./radosgw-admin bucket check --check-head-obj-locator \
                               --bucket=<bucket> [--fix]

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-22 15:51:38 -07:00
Yehuda Sadeh
3d4a1d20b8 rgw: set a special object locator if object starts with underscore
Fixes: #11442
Backport: hammer

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-22 13:11:26 -07:00
Yehuda Sadeh
98b59bae7c rgw: fix s3 list buckets
Fixes: #11451
Backport: hammer
Got broken in commit:7dd54fa3621c04c8ea5723fb1bc06b91d81a0c6c.
Resurrect the option to list unlimited number of buckets using the S3
api.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-22 13:09:45 -07:00
Jason Dillaman
0b378942c4 librbd: updated cache max objects calculation
The previous calculation was based upon the image's object size.
Since the cache stores smaller bufferheads, the object size is not
a good indicator of cache usage and was resulting in objects being
evicted from the cache too often.  Instead, base the max number of
objects on the memory load required to store the extra metadata
for the objects.

Fixes: #7385
Backport: firefly, hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-22 11:27:35 -04:00
Kefu Chai
89262abc53 Merge pull request #4426 from liewegas/wip-11330
logrotate: prefer service over invoke-rc.d

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 17:18:56 +08:00
Orit Wasserman
037de56ca9 Merge pull request #4425 from ceph/wip-10243
civetweb: update max num of threads
2015-04-22 10:38:33 +02:00
Kefu Chai
8d9905d5d9 Merge pull request #4421 from dachary/wip-11441-osd-bench
tests: osd-bench.sh must be verbose on failure

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 15:37:54 +08:00
Loic Dachary
d80fc8efea Merge pull request #4430 from zhouyuan/fix_make_debs
misc: fix make debs script

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-22 09:35:27 +02:00
Yan, Zheng
c0f2f0967e Merge pull request #4427 from big-henry/wip-mds-fix-integer-truncation
mds: fix integer truncation
2015-04-22 15:20:54 +08:00
Yuan Zhou
6fd356b935 misc: fix make debs script
Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
2015-04-22 14:34:42 +08:00
Kefu Chai
2731db5de7 Merge pull request #4428 from wkennington/master.pgrefdebugging
configure.ac: fix the disablement of pgrefdebugging

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 13:58:21 +08:00
William A. Kennington III
8e026c781c Fix the disablement of pgrefdebugging
Currently, if you add the flag --disable-pgrefdebugging during configure
it enables pgrefdebugging. The only way for it to actually be disabled
is to remove the flag entirely. This patch makes the flag respect the
--enable and --disable options correctly. Therefore,
--enable-pgrefdebugging is the only way to enable this now and
--enable-pgrefdebugging=no and --disable-pgrefdebugging work as
expected.

Signed-off-by: William A. Kennington III <william@wkennington.com>
2015-04-21 22:32:54 -07:00
Henry Chang
37edd162a8 mds: fix integer truncation
Client ID is a 64-bit integer. Unlike Ceph daemons, it may go beyond
2147483647 and cause problems.

Signed-off-by: Henry Chang <henry@bigtera.com>
2015-04-22 12:17:39 +08:00
Kefu Chai
56e96f0e30 Merge pull request #4376 from majianpeng/needs-recovery
osd: fix bugs for PG::needs_recovery()

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 10:49:35 +08:00
Kefu Chai
927f0f9f28 Merge pull request #4269 from majianpeng/add-recoverable
osd: For ec pool recovery, only for can recoverable object.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 10:37:05 +08:00
Kefu Chai
5d1442ef28 Merge pull request #4222 from majianpeng/scrub-fix1
osd/PG: check scrub state when handle CEPH_OSD_OP_SCRUB_MAP.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-22 10:06:40 +08:00
Jianpeng Ma
8f30db8521 test: add test-case for repair unrecovery-ec pg.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:47:51 +08:00
Jianpeng Ma
bdd6205408 osd: Remove the duplicated func MissingLoc::get_all_missing.
It is the same as MissingLoc::get_needs_recovery.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:47:51 +08:00
Jianpeng Ma
b16b080332 osd: For object op, first check object whether unfound.
If object unfound, asap return -EIO.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:47:50 +08:00
Jianpeng Ma
d51806f5b3 osd: Fix ec pg repair endless when met unrecover object.
In repair_object, if bad_peer is replica, it don't add soid in
MissingLoc for ec pool. If there are more bad replica for ec pool
which cause object can't recover, the later recoverying will endless.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-22 09:47:50 +08:00
Jianpeng Ma
f8504700c8 PG: For needs_recovery, asap return if need recover.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:17:39 +08:00
Jianpeng Ma
34cb1f0cce PG: remove the duplicated code.
assert(!actingbackfill.empty()) is equal to
assert(actingbackfill.end() != actingbackfill.begin()).

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:11:11 +08:00
Jianpeng Ma
f4e7d4a9c1 PG: fix logic error: don't set need_recovery if peer_missing don't have acting osd.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-04-22 09:11:11 +08:00
Sage Weil
40203f711d auth: return error code from encrypt/decrypt; make error string optional
This is simpler for a lot of callers.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-21 17:00:27 -07:00
Sage Weil
7762f1886c auth: optimize crypto++ key context
The cbc appears to be stateful, but the key is not.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-21 17:00:27 -07:00
Sage Weil
973cd1c00a auth/Crypto: optimize libnss key
Allocate the key and slot once per key instead of once per encrypt/
decrypt operation.  This improves things by a factor of almost 4x
for my microbenchmark.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-21 17:00:27 -07:00
Sage Weil
16b3515af3 auth: refactor crypto key context
Cache all of the crypto key context in a new CryptoKeyHandler struct that
is attached to CryptoKey.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-21 17:00:27 -07:00