]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoMerge pull request #4028 from dachary/wip-10259-giant
Sage Weil [Tue, 17 Mar 2015 17:44:00 +0000 (10:44 -0700)]
Merge pull request #4028 from dachary/wip-10259-giant

osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::o...

10 years agoMerge pull request #4027 from dachary/wip-10257-giant
Sage Weil [Tue, 17 Mar 2015 17:42:10 +0000 (10:42 -0700)]
Merge pull request #4027 from dachary/wip-10257-giant

  mon: PGMonitor: several stats output error fixes

10 years agoMerge pull request #3998 from dzafman/wip-10677
Sage Weil [Tue, 17 Mar 2015 17:41:56 +0000 (10:41 -0700)]
Merge pull request #3998 from dzafman/wip-10677

Fix ceph command manpage to match ceph -h (giant)

Reviewed-by: Xinxin Shu <xinxin.shu@intel.com>
10 years agoMerge pull request #3921 from sponce/wip-11078-giant
Sage Weil [Tue, 17 Mar 2015 17:40:02 +0000 (10:40 -0700)]
Merge pull request #3921 from sponce/wip-11078-giant

Fix libstriprados::stat, use strtoll insdead of strtol

10 years agoMerge pull request #3819 from tchaikov/giant-pg-leak-10421
Sage Weil [Tue, 17 Mar 2015 17:36:28 +0000 (10:36 -0700)]
Merge pull request #3819 from tchaikov/giant-pg-leak-10421

osd: fix PG leak in SnapTrimWQ._clear()

10 years agoMerge pull request #3771 from ceph/wip-10883-giant
Sage Weil [Tue, 17 Mar 2015 17:35:37 +0000 (10:35 -0700)]
Merge pull request #3771 from ceph/wip-10883-giant

osd: Fix FileJournal wrap to get header out first

10 years agoMerge pull request #3637 from sponce/wip-10758-giant
Sage Weil [Tue, 17 Mar 2015 17:35:29 +0000 (10:35 -0700)]
Merge pull request #3637 from sponce/wip-10758-giant

Backport of pull request 3633 to giant : Fixed write_full behavior in libradosstriper

10 years agoosd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::operator== 4028/head
Samuel Just [Fri, 5 Dec 2014 23:29:52 +0000 (15:29 -0800)]
osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::operator==

Fixes: 10259
Backport: giant, firefly, dumpling
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1ac17c0a662e6079c2c57edde2b4dc947f547f57)

10 years agomon: PGMonitor: skip zeroed osd stats on get_rule_avail() 4027/head
Joao Eduardo Luis [Mon, 19 Jan 2015 18:49:15 +0000 (18:49 +0000)]
mon: PGMonitor: skip zeroed osd stats on get_rule_avail()

Fixes: #10257
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975)

10 years agomon: PGMonitor: available size 0 if no osds on pool's ruleset
Joao Eduardo Luis [Fri, 16 Jan 2015 18:13:05 +0000 (18:13 +0000)]
mon: PGMonitor: available size 0 if no osds on pool's ruleset

get_rule_avail() may return < 0, which we were using blindly assuming it
would always return an unsigned value.  We would end up with weird
values if the ruleset had no osds.

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 8be6a6ab2aa5a000a39c73a98b11a0ab32fffa1c)

10 years agomon: PGMonitor: fix division by zero on stats dump
Joao Eduardo Luis [Fri, 16 Jan 2015 18:12:42 +0000 (18:12 +0000)]
mon: PGMonitor: fix division by zero on stats dump

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
(cherry picked from commit 50547dc3c00b7556e26b9a44ec68640c5c3a2384)

10 years agodoc: Fix ceph command manpage to match ceph -h (giant) 3998/head
David Zafman [Sat, 14 Mar 2015 02:16:47 +0000 (19:16 -0700)]
doc: Fix ceph command manpage to match ceph -h (giant)

Fixes: #10677
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agodoc: Minor fixes to ceph command manpage
David Zafman [Fri, 13 Mar 2015 23:50:13 +0000 (16:50 -0700)]
doc: Minor fixes to ceph command manpage

Fixes: #10676
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 7e85722fd4c89715fc2ed79697c82d65d7ebf287)

10 years agodoc: Fix ceph command manpage to match ceph -h (firefly)
David Zafman [Thu, 12 Mar 2015 18:39:52 +0000 (11:39 -0700)]
doc: Fix ceph command manpage to match ceph -h (firefly)

Improve synopsis section
Fixes: #10676
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9ac488c1eb0e30511079ba05aaf11c79615b3940)

Conflicts:

man/ceph.8 (took incoming version)

10 years agodoc: Changes format style in ceph to improve readability as html.
Nilamdyuti Goswami [Thu, 18 Dec 2014 11:41:22 +0000 (17:11 +0530)]
doc: Changes format style in ceph to improve readability as html.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
(cherry picked from commit 8b796173063ac9af8c21364521fc5ee23d901196)

10 years agodoc: Adds man page for ceph.
Nilamdyuti Goswami [Fri, 12 Dec 2014 20:54:41 +0000 (02:24 +0530)]
doc: Adds man page for ceph.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
(cherry picked from commit 76da87a64ca6b3cc0ceeaf63e19a9f440d6f4161)

10 years agoFix libstriprados::stat, use strtoll insdead of strtol 3921/head
Dongmao Zhang [Fri, 14 Nov 2014 10:48:58 +0000 (18:48 +0800)]
Fix libstriprados::stat, use strtoll insdead of strtol

The return value(long int) of strict_strtol is too small for unstriped
object.

Signed-off-by: Dongmao Zhang <deanraccoon@gmail.com>
(cherry picked from commit fe6679dca479fc24806d7e57ab0108a516cd6d55)

10 years agoFix libstriprados::remove, use strtoll insdead of strtol
Dongmao Zhang [Wed, 10 Dec 2014 10:55:28 +0000 (18:55 +0800)]
Fix libstriprados::remove, use strtoll insdead of strtol

Signed-off-by: Dongmao Zhang <deanraccoon@gmail.com>
(cherry picked from commit 78a15ee4c61fdadccb1921e861748400cc651862)

10 years agoObjecter::_op_submit_with_budget: add timeout before call
Samuel Just [Mon, 2 Feb 2015 21:57:00 +0000 (13:57 -0800)]
Objecter::_op_submit_with_budget: add timeout before call

Objecter::_send_op depends on the ontimeout field being filled in
to avoid 10340 and 9582.

Fixes: 10340
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit cfcfafcb0f33994dbda1efe478ef3ab822ff50d4)

10 years agoosd: fix PG leak in SnapTrimWQ._clear() 3819/head
Kefu Chai [Tue, 10 Feb 2015 08:29:45 +0000 (16:29 +0800)]
osd: fix PG leak in SnapTrimWQ._clear()

Fixes: #10421
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 01e154d592d6cdbf3f859cf1b4357e803536a6b4)

10 years ago0.87.1 v0.87.1
Jenkins [Mon, 23 Feb 2015 20:02:04 +0000 (12:02 -0800)]
0.87.1

10 years agoosd: Fix FileJournal wrap to get header out first 3771/head
David Zafman [Thu, 19 Feb 2015 00:21:12 +0000 (16:21 -0800)]
osd: Fix FileJournal wrap to get header out first

Correct and restore assert that was removed

Cause by f46b1b473fce0322a672b16c7739e569a45054b6
Fixes: #10883
Backport: dumpling, firefly, giant

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 970bb4901f93575709421b5b25c3eff213de61b8)

10 years agoMerge pull request #3731 from liewegas/wip-10834-giant
Loic Dachary [Tue, 17 Feb 2015 00:09:54 +0000 (01:09 +0100)]
Merge pull request #3731 from liewegas/wip-10834-giant

osd: tolerate sessionless con in fast dispatch path

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: tolerate sessionless con in fast dispatch path 3731/head
Sage Weil [Tue, 2 Dec 2014 02:15:59 +0000 (18:15 -0800)]
osd: tolerate sessionless con in fast dispatch path

We can now get a session cleared from a Connection at any time.  Change
the assert to an if in ms_fast_dispatch to cope.  It's pretty rare, but it
can happen, especially with delay injection.  In particular, a racing
thread can call mark_down() on us.

Fixes: #10209
Backport: giant
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 01df2227125abf94571b4b0c7bccca57098ed2dc)

10 years agoqa: use correct binary path on rpm-based systems
Josh Durgin [Mon, 2 Feb 2015 15:43:35 +0000 (16:43 +0100)]
qa: use correct binary path on rpm-based systems

Fixes: #10715
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 05ce2aa1bf030ea225300b48e7914577a412b38c)

10 years agoMerge pull request #3407 from ceph/wip-9854-giant
Loic Dachary [Tue, 10 Feb 2015 23:11:57 +0000 (00:11 +0100)]
Merge pull request #3407 from ceph/wip-9854-giant

osdc: Constrain max number of in-flight read requests

10 years agoMerge pull request #3568 from dachary/wip-10471-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 21:01:21 +0000 (22:01 +0100)]
Merge pull request #3568 from dachary/wip-10471-rgw-giant

rgw: use s->bucket_attrs instead of trying to read obj attrs

10 years agoMerge pull request #3263 from dachary/wip-jerasure-giant
Loic Dachary [Tue, 10 Feb 2015 20:59:40 +0000 (21:59 +0100)]
Merge pull request #3263 from dachary/wip-jerasure-giant

erasure-code: update links to jerasure upstream (giant)

10 years agoMerge pull request #3191 from ceph/giant-10277
Loic Dachary [Tue, 10 Feb 2015 20:59:17 +0000 (21:59 +0100)]
Merge pull request #3191 from ceph/giant-10277

Giant 10277

10 years agoMerge pull request #3186 from ceph/wip-giant-mon-backports
Loic Dachary [Tue, 10 Feb 2015 20:58:52 +0000 (21:58 +0100)]
Merge pull request #3186 from ceph/wip-giant-mon-backports

mon: backports for #9987 against giant

10 years agoMerge pull request #3185 from dachary/wip-10325-cauchy-giant
Loic Dachary [Tue, 10 Feb 2015 20:58:29 +0000 (21:58 +0100)]
Merge pull request #3185 from dachary/wip-10325-cauchy-giant

erasure-code: relax cauchy w restrictions (giant)

10 years agoMerge pull request #3178 from dachary/wip-9998-crush-underfloat-giant
Loic Dachary [Tue, 10 Feb 2015 20:58:05 +0000 (21:58 +0100)]
Merge pull request #3178 from dachary/wip-9998-crush-underfloat-giant

crush: fix weight underfloat issue (giant)

10 years agoMerge pull request #3579 from dachary/wip-9877-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:57:50 +0000 (21:57 +0100)]
Merge pull request #3579 from dachary/wip-9877-rgw-giant

rgw: RGWRados::get_obj() returns wrong len if len == 0

10 years agoMerge pull request #3168 from ceph/wip-8797-giant
Loic Dachary [Tue, 10 Feb 2015 20:57:18 +0000 (21:57 +0100)]
Merge pull request #3168 from ceph/wip-8797-giant

Wip 8797 giant

10 years agoMerge pull request #3582 from dachary/wip-10062-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:56:53 +0000 (21:56 +0100)]
Merge pull request #3582 from dachary/wip-10062-rgw-giant

rgw: s3 keystone auth fixes

10 years agoMerge pull request #3581 from dachary/wip-9918-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:56:37 +0000 (21:56 +0100)]
Merge pull request #3581 from dachary/wip-9918-rgw-giant

rgw: update swift subuser perm masks when authenticating

10 years agoMerge pull request #3580 from dachary/wip-9907-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:56:17 +0000 (21:56 +0100)]
Merge pull request #3580 from dachary/wip-9907-rgw-giant

fix can not disable max_size quota

10 years agoMerge pull request #3083 from dachary/wip-10211-erasure-code-buffer-alignement-giant
Loic Dachary [Tue, 10 Feb 2015 20:55:56 +0000 (21:55 +0100)]
Merge pull request #3083 from dachary/wip-10211-erasure-code-buffer-alignement-giant

erasure-code: enforce chunk size alignment (giant)

10 years agoMerge pull request #3577 from dachary/wip-9587-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:55:23 +0000 (21:55 +0100)]
Merge pull request #3577 from dachary/wip-9587-rgw-giant

init-radosgw.sysv: set ulimit -n before starting daemon

10 years agoMerge pull request #3576 from dachary/wip-5595-9576-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:54:58 +0000 (21:54 +0100)]
Merge pull request #3576 from dachary/wip-5595-9576-rgw-giant

update object content-length doesn't work correctly

10 years agoMerge pull request #3575 from dachary/wip-9479-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:54:13 +0000 (21:54 +0100)]
Merge pull request #3575 from dachary/wip-9479-rgw-giant

rgw: send back ETag on S3 object copy

10 years agoMerge pull request #3574 from dachary/wip-9478-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:53:55 +0000 (21:53 +0100)]
Merge pull request #3574 from dachary/wip-9478-rgw-giant

rgw: S3 object copy content type fix

10 years agoMerge pull request #3573 from dachary/wip-9254-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:53:33 +0000 (21:53 +0100)]
Merge pull request #3573 from dachary/wip-9254-rgw-giant

rgw: http headers need to end with \r\n

10 years agoMerge pull request #3572 from dachary/wip-9973-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:53:15 +0000 (21:53 +0100)]
Merge pull request #3572 from dachary/wip-9973-rgw-giant

rgw: remove swift user manifest (DLO) hash calculation

10 years agoMerge pull request #3571 from dachary/wip-8911-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:52:54 +0000 (21:52 +0100)]
Merge pull request #3571 from dachary/wip-8911-rgw-giant

rgw: swift GET / HEAD object returns X-Timestamp field

10 years agoMerge pull request #3570 from dachary/wip-10701-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:52:36 +0000 (21:52 +0100)]
Merge pull request #3570 from dachary/wip-10701-rgw-giant

rgw: use strict_strtoll() for content length

10 years agoMerge pull request #3569 from dachary/wip-10103-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:52:00 +0000 (21:52 +0100)]
Merge pull request #3569 from dachary/wip-10103-rgw-giant

rgw-admin: create subuser if needed when creating user

10 years agoMerge pull request #3567 from dachary/wip-10307-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:51:06 +0000 (21:51 +0100)]
Merge pull request #3567 from dachary/wip-10307-rgw-giant

rgw: use s->bucket_attrs instead of trying to read obj attrs

10 years agoMerge pull request #3443 from ceph/wip-10590-giant
Loic Dachary [Tue, 10 Feb 2015 20:50:34 +0000 (21:50 +0100)]
Merge pull request #3443 from ceph/wip-10590-giant

rbd: ensure aio_write buffer isn't invalidated during image import

10 years agoMerge pull request #3557 from dachary/wip-10688-boost-157-giant
Loic Dachary [Tue, 10 Feb 2015 20:50:14 +0000 (21:50 +0100)]
Merge pull request #3557 from dachary/wip-10688-boost-157-giant

support Boost 1.57.0

10 years agoMerge pull request #2954 from sponce/giant
Loic Dachary [Tue, 10 Feb 2015 20:49:47 +0000 (21:49 +0100)]
Merge pull request #2954 from sponce/giant

Fixed trivial locking issue in the trunc method of libradosstriper - Giant branch

10 years agoMerge pull request #3405 from ceph/wip-10299-giant
Loic Dachary [Tue, 10 Feb 2015 20:49:20 +0000 (21:49 +0100)]
Merge pull request #3405 from ceph/wip-10299-giant

librbd: complete all pending aio ops prior to closing image

10 years agoMerge pull request #3403 from ceph/wip-10270-giant
Loic Dachary [Tue, 10 Feb 2015 20:48:49 +0000 (21:48 +0100)]
Merge pull request #3403 from ceph/wip-10270-giant

librbd: gracefully handle deleted/renamed pools

10 years agoMerge pull request #3356 from liewegas/wip-msgr-giant
Loic Dachary [Tue, 10 Feb 2015 20:48:20 +0000 (21:48 +0100)]
Merge pull request #3356 from liewegas/wip-msgr-giant

msgr: fast dispatch backports for giant

10 years agofsync-tester: print info about PATH and locations of lsof lookup
Greg Farnum [Fri, 6 Feb 2015 05:12:17 +0000 (21:12 -0800)]
fsync-tester: print info about PATH and locations of lsof lookup

We're seeing the lsof invocation fail (as not found) in testing and nobody can
identify why. Since attempting to reproduce the issue has not worked, this
patch will gather data from a genuinely in-vitro location.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit a85051483874ff5b8b0fb50426a3577040457596)

10 years agolibradosstriper: fixed write_full when ENOENT 3637/head
Sebastien Ponce [Thu, 5 Feb 2015 09:46:37 +0000 (10:46 +0100)]
libradosstriper: fixed write_full when ENOENT

Fixes: #10758
write_full was returning ENOENT when the file did not exists, while it should just have created it without complaining.

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
(cherry picked from commit 6a91f2bb82035b3c8021a7dc7b23548ce3d61eb6)

10 years agoosdc: Constrain max number of in-flight read requests 3407/head
Jason Dillaman [Mon, 27 Oct 2014 18:47:19 +0000 (14:47 -0400)]
osdc: Constrain max number of in-flight read requests

Constrain the number of in-flight RADOS read requests to the
cache size.  This reduces the chance of the cache memory
ballooning during certain scenarios like copy-up which can
invoke many concurrent read requests.

Fixes: #9854
Backport: giant, firefly, dumpling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw: check keystone auth also for s3 post requests 3582/head
Abhishek Lekshmanan [Mon, 22 Dec 2014 14:27:19 +0000 (19:57 +0530)]
rgw: check keystone auth also for s3 post requests

This patch adds keystone auth for s3 post requests, once a user fails in
cephx authentication, they are checked for keystone if configured.

Fixes #10062
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
(cherry picked from commit 8b3dfc9472022ea45ad24e02e0aa21dfdad798f8)

10 years agorgw: check for timestamp for s3 keystone auth
Abhishek Lekshmanan [Mon, 17 Nov 2014 12:07:00 +0000 (17:37 +0530)]
rgw: check for timestamp for s3 keystone auth

This commit ensures that we check for timestamp of s3 request is within
acceptable grace time of radosgw
Addresses some failures in #10062
Fixes: #10062
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
(cherry picked from commit 4b35ae067fef9f97b886afe112d662c61c564365)

10 years agorgw: update swift subuser perm masks when authenticating 3581/head
Yehuda Sadeh [Wed, 5 Nov 2014 22:38:46 +0000 (14:38 -0800)]
rgw: update swift subuser perm masks when authenticating

Fixes: #9918
Backport: firefly, giant
It seems that we weren't setting the swift perm mask correctly.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5d9f36f757a7272c24d2c9adc31db1ed5e712992)

10 years agofix can not disable max_size quota 3580/head
Lei Dong [Mon, 27 Oct 2014 02:29:48 +0000 (10:29 +0800)]
fix can not disable max_size quota

Currently if we enable quota and set max_size = -1, it doesn’t
mean max_size is unlimited as expected. Instead, it means object
with any size is not allowed to upload because of “QuotaExceeded”.
The root cause is the function rgw_rounded_kb which convert max_size
to max_size_kb returns 0 for -1 because it takes an unsigned int
but we pass an int to it. A simple fix is check max_size before
it’s rounded to max_size_kb.

Test case:
1 enable and set quota:
radosgw-admin quota enable --uid={user_id} --quota-scope=user
radosgw-admin quota set --quota-scope=user --uid={user_id}\
 --max-objects=100 --max-size=-1
2 upload any object with non-zero length
it will return 403 with “QuotaExceeded” and return 200 if you apply the fix.

Fixes: #9907
Backport: giant, firefly
Signed-off-by: Dong Lei leidong@yahoo-inc.com
(cherry picked from commit abd3fd3ef9ee9999b99811937af60b7a5e673e35)

10 years agorgw: RGWRados::get_obj() returns wrong len if len == 0 3579/head
Yehuda Sadeh [Wed, 5 Nov 2014 06:05:03 +0000 (22:05 -0800)]
rgw: RGWRados::get_obj() returns wrong len if len == 0

Fixes: #9877
We only updated if len was > 0, should update it if r >= 0. This was the
culprit for issue #9877.
Backport: giant, firefly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit fe7bf06366adaf787816d1e68f5e3f68e8c91134)

10 years agoinit-radosgw.sysv: set ulimit -n before starting daemon 3577/head
Sage Weil [Wed, 22 Oct 2014 00:59:30 +0000 (17:59 -0700)]
init-radosgw.sysv: set ulimit -n before starting daemon

If we do the ulimit inside the daemon command we will have already
dropped privs and will fail.

Fixes: #9587
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9803cedf54a7baff45ccd0e0f65d2bc220958a46)

10 years agorgw: PutObjMetadata, clear bufferlist before appending into it 3576/head
Yehuda Sadeh [Tue, 23 Sep 2014 19:42:10 +0000 (12:42 -0700)]
rgw: PutObjMetadata, clear bufferlist before appending into it

Fixes: #9576
Backport: firefly, dumpling

We need to completely rewrite the bufferlist, not append into it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 44cfd88dc65d30f4295743c5834768bb13f7b805)

10 years agorgw: rados->set_attrs() updates bucket index
Yehuda Sadeh [Tue, 23 Sep 2014 19:43:55 +0000 (12:43 -0700)]
rgw: rados->set_attrs() updates bucket index

Fixes: #5595
Backport: dumpling, firefly
We need to update the bucket index when updating object attrs, otherwise
we're missing meta changes that need to be registered. It also
solves issue of bucket index not knowing about object acl changes,
although this one still requires some more work.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit f833f12a200ecc2c4f74ddb443d6fa61b7ad14db)

10 years agorgw: send back ETag on S3 object copy 3575/head
Yehuda Sadeh [Wed, 5 Nov 2014 21:28:02 +0000 (13:28 -0800)]
rgw: send back ETag on S3 object copy

Fixes: #9479
Backport: firefly, giant
We didn't send the etag back correctly. Original code assumed the etag
resided in the attrs, but attrs only contained request attrs.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit b1bfc3a7e0c9088f01f8ff770ae14f569fbc570d)

10 years agorgw: S3 object copy content type fix 3574/head
Yehuda Sadeh [Wed, 5 Nov 2014 20:35:42 +0000 (12:35 -0800)]
rgw: S3 object copy content type fix

Fixes: #9478
Backport: firefly, giant
Content type for S3 object copy response should be set to
application/xml.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 31963459a0a869c4d32f55baa629f36df33eaa90)

10 years agorgw: http headers need to end with \r\n 3573/head
Yehuda Sadeh [Fri, 12 Dec 2014 19:20:26 +0000 (11:20 -0800)]
rgw: http headers need to end with \r\n

Fixes: #9254
Backport: firefly, giant

Reported-by: Benedikt Fraunhofer <fraunhofer@traced.net>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7409ab3df18fb312dd6c9f79084f889c523afdce)

10 years agorgw: remove swift user manifest (DLO) hash calculation 3572/head
Yehuda Sadeh [Wed, 5 Nov 2014 21:40:55 +0000 (13:40 -0800)]
rgw: remove swift user manifest (DLO) hash calculation

Fixes: #9973
Backport: firefly, giant

Previously we were iterating through the parts, creating hash of the
parts etags (as S3 does for multipart uploads). However, swift just
calculates the etag for the empty manifest object.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit ef6d3ad964d34bc526dc4435486bd5c8cdc3b230)

10 years agorgw: swift GET / HEAD object returns X-Timestamp field 3571/head
Yehuda Sadeh [Tue, 30 Sep 2014 21:15:47 +0000 (14:15 -0700)]
rgw: swift GET / HEAD object returns X-Timestamp field

Fixes: #8911
Backport: giant, firefly, dumpling
Swift clients expect X-Timestamp header, dump it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5b41d80b7fb9ed96c26801fc42c044191bb18d84)

10 years agorgw: use strict_strtoll() for content length 3570/head
Yehuda Sadeh [Fri, 30 Jan 2015 18:51:52 +0000 (10:51 -0800)]
rgw: use strict_strtoll() for content length

instead of strict_strtol().

Backport: giant, firefly
Fixes: #10701
Reported-by: Axel Dunkel <ad@dunkel.de>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 1c25dbafb45caf1b261cfcec15b868a2ba6b5fef)

10 years agorgw-admin: create subuser if needed when creating user 3569/head
Yehuda Sadeh [Thu, 20 Nov 2014 18:36:05 +0000 (10:36 -0800)]
rgw-admin: create subuser if needed when creating user

Fixes: #10103
Backport: firefly, giant
This turned up after fixing #9973. Earlier we also didn't create the
subuser in this case, but we didn't really read the subuser info when it
was authenticating. Now we do that as required, so we end up failing the
authentication. This only applies to cases where a subuser was created
using 'user create', and not the 'subuser create' command.

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c)

10 years agorgw: use s->bucket_attrs instead of trying to read obj attrs 3568/head
Yehuda Sadeh [Sat, 13 Dec 2014 01:07:30 +0000 (17:07 -0800)]
rgw: use s->bucket_attrs instead of trying to read obj attrs

Fixes: #10307
Backport: firefly, giant

This is needed, since we can't really read the bucket attrs by trying to
read the bucket entry point attrs. We already have the bucket attrs
anyway, use these.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5cf193c8686196d5235889e68cb5ea8f1fc8e556)

10 years agorgw: use s->bucket_attrs instead of trying to read obj attrs 3567/head
Yehuda Sadeh [Sat, 13 Dec 2014 01:07:30 +0000 (17:07 -0800)]
rgw: use s->bucket_attrs instead of trying to read obj attrs

Fixes: #10307
Backport: firefly, giant

This is needed, since we can't really read the bucket attrs by trying to
read the bucket entry point attrs. We already have the bucket attrs
anyway, use these.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5cf193c8686196d5235889e68cb5ea8f1fc8e556)

10 years agoosd: Cleanup boost optionals 3557/head
William A. Kennington III [Sun, 21 Sep 2014 05:52:31 +0000 (22:52 -0700)]
osd: Cleanup boost optionals

Signed-off-by: William A. Kennington III <william@wkennington.com>
(cherry picked from commit a53ead14c113047567177630b4906136a2109b65)

10 years agosupport Boost 1.57.0
Petr Machata [Thu, 29 Jan 2015 17:15:02 +0000 (10:15 -0700)]
support Boost 1.57.0

Sometime after 1.55, boost introduced a forward declaration of
operator<< in optional.hpp. In 1.55 and earlier, when << was used
without the _io having been included, what got dumped was an implicit
bool conversion.

http://tracker.ceph.com/issues/10688 Refs: #10688
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 85717394c33137eb703a7b88608ec9cf3287f67a)

Conflicts:
src/include/encoding.h
        trivial conflict

10 years agorgw: send http status reason explicitly in fastcgi
Yehuda Sadeh [Fri, 24 Oct 2014 00:39:42 +0000 (17:39 -0700)]
rgw: send http status reason explicitly in fastcgi

There are issues in certain versions of apache 2.4, where the reason is
not sent back. Instead, just provide the reason explicitly.

Backport: firefly, giant

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit a9dd4af401328e8f9071dee52470a0685ceb296b)

10 years agorgw: fix partial GET in swift
Yehuda Sadeh [Fri, 16 Jan 2015 00:31:22 +0000 (16:31 -0800)]
rgw: fix partial GET in swift

Fixes: #10553
backport: firefly, giant

Don't set the ret code to reflect partial download, just set the
response status when needed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7e1553cedff90fa0fefded65cde87ad068eb5f0c)

10 years agoosd: handle no-op write with snapshot case
Sage Weil [Tue, 16 Dec 2014 01:04:32 +0000 (17:04 -0800)]
osd: handle no-op write with snapshot case

If we have a transaction that does something to the object but it !exists
both before and after, we will continue through the write path.  If the
snapdir object already exists, and we try to create it again, we will
leak a snapdir obc and lock and later crash on an assert when the obc
is destroyed:

0> 2014-12-06 01:49:51.750163 7f08d6ade700 -1 osd/osd_types.h: In function 'ObjectContext::~ObjectContext()' thread 7f08d6ade700 time 2014-12-06 01:49:51.605411
osd/osd_types.h: 2944: FAILED assert(rwstate.empty())

Fix is to not recreated the snapdir if it already exists.

Fixes: #10262
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 02fae9fc54c10b5a932102bac43f32199d4cb612)

10 years agoMerge pull request #3502 from ceph/wip-10382-giant
Gregory Farnum [Tue, 27 Jan 2015 17:40:16 +0000 (09:40 -0800)]
Merge pull request #3502 from ceph/wip-10382-giant

[giant backport] mds: handle heartbeat_reset during shutdown

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomds: handle heartbeat_reset during shutdown 3502/head
John Spray [Wed, 14 Jan 2015 10:35:53 +0000 (10:35 +0000)]
mds: handle heartbeat_reset during shutdown

Because any thread might grab mds_lock and call heartbeat_reset
immediately after a call to suicide() completes, this needs
to be handled as a special case where we tolerate MDS::hb having
already been destroyed.

Fixes: #10382
Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoceph_test_rados_api_misc: do not assert rbd feature match
Sage Weil [Tue, 20 Jan 2015 02:28:20 +0000 (18:28 -0800)]
ceph_test_rados_api_misc: do not assert rbd feature match

This test fails on upgrades when we (or the server) have new
features.  Make it less fragile.

Fixes: #10576
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9147c62989871cea8b3a85b02c53017825efb55b)

10 years agorbd: ensure aio_write buffer isn't invalidated during image import 3443/head
Jason Dillaman [Wed, 21 Jan 2015 19:55:02 +0000 (14:55 -0500)]
rbd: ensure aio_write buffer isn't invalidated during image import

The buffer provided to aio_write shouldn't be invalidated until
after aio_write has indicated that the operation has completed.

Fixes: #10590
Backport: giant
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 4d3b49e9d62bc1040356ca3ebe7f90c181734eb6)

10 years agolibrbd: complete all pending aio ops prior to closing image 3405/head
Jason Dillaman [Mon, 15 Dec 2014 15:53:53 +0000 (10:53 -0500)]
librbd: complete all pending aio ops prior to closing image

It was possible for an image to be closed while aio operations
were still outstanding.  Now all aio operations are tracked and
completed before the image is closed.

Fixes: #10299
Backport: giant, firefly, dumpling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: gracefully handle deleted/renamed pools 3403/head
Jason Dillaman [Mon, 19 Jan 2015 15:28:56 +0000 (10:28 -0500)]
librbd: gracefully handle deleted/renamed pools

snap_unprotect and list_children both attempt to scan all
pools. If a pool is deleted or renamed during the scan,
the methods would previously return -ENOENT. Both methods
have been modified to more gracefully handle this condition.

Fixes: #10270
Backport: giant, firefly
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw: change multipart upload id magic
Yehuda Sadeh [Fri, 12 Dec 2014 13:24:01 +0000 (05:24 -0800)]
rgw: change multipart upload id magic

Fixes: #10271
Backport: firefly, giant

Some clients can't sign requests correctly with the original magic
prefix.

Reported-by: Georgios Dimitrakakis <giorgis@acmac.uoc.gr>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5fc7a0be67a03ed63fcc8408f8d71a31a1841076)

10 years agorgw: url decode http query params correctly
Yehuda Sadeh [Thu, 11 Dec 2014 17:07:10 +0000 (09:07 -0800)]
rgw: url decode http query params correctly

Fixes: #10271
Backport: firefly

This got broken by the fix for #8702. Since we now only url_decode if
we're in query, we need to specify that we're in query when decoding
these args.

Reported-by: Georgios Dimitrakakis <giorgis@acmac.uoc.gr>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 21e07eb6abacb085f81b65acd706b46af29ffc03)

10 years agoqa: ignore duplicates in rados ls
Josh Durgin [Wed, 14 Jan 2015 23:01:38 +0000 (15:01 -0800)]
qa: ignore duplicates in rados ls

These can happen with split or with state changes due to reordering
results within the hash range requested. It's easy enough to filter
them out at this stage.

Backport: giant, firefly
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit e7cc6117adf653a4915fb7a75fac68f8fa0239ec)

10 years agoRevert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages" 3356/head
Sage Weil [Tue, 14 Oct 2014 19:42:40 +0000 (12:42 -0700)]
Revert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages"

This reverts commit 3f23709c474292f9239f77a6cce26309fc86ce29.

We have changed mark_down() behavior so that it no longer blocks on
fast dispatch.  This makes the objecter reply handler safe again.

Fixes: #9598
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c9f9e72e558521cb90f90538bc27f995f82d76c2)

10 years agomsg/simple: do not stop_and_wait on mark_down
Sage Weil [Tue, 14 Oct 2014 19:41:48 +0000 (12:41 -0700)]
msg/simple: do not stop_and_wait on mark_down

We originally blocked in mark_down for fast dispatch threads
to complete to avoid various races in the code.  Most of these
were in the OSD itself, where we were not prepared to get
messges on connections that had no attached session.  Since
then, the OSD checks have been cleaned up to handle this.
There were other races we were worried about too, but the
details have been lost in the depths of time.

Instead, take the other route: make mark_down never block on
dispatch.  This lets us remove the special case that
was added in order to cope with fast dispatch calling
mark_down on itself.

Now, the only stop_and_wait() user is the shutdown sequence.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 00907e032011b9d2acd16ea588555cf379830814)

10 years agomsg/Pipe: inject delay in stop_and_wait
Sage Weil [Fri, 31 Oct 2014 23:25:09 +0000 (16:25 -0700)]
msg/Pipe: inject delay in stop_and_wait

Inject a delay in stop_and_wait.  This will mostly affect the connection
race Pipe takeover code which currently calls stop_and_wait while holding
the msgr->lock.  This should make it easier for a racing fast_dispatch
method to get stuck on a call that (indirectly) needs the msgr lock.
See #9921.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 2fe5c4c305218fdb1771857e4e0ef7c98a8d0fb6)

10 years agoSimpleMessenger: Pipe: do not block on takeover while holding global lock
Greg Farnum [Tue, 28 Oct 2014 23:45:43 +0000 (16:45 -0700)]
SimpleMessenger: Pipe: do not block on takeover while holding global lock

We previously were able to cause deadlocks:
1) Existing pipe is fast_dispatching
2) Replacement incoming pipe is accepted
  *) blocks on stop_and_wait() of existing Pipe
3) External things are blocked on SimpleMessenger::lock() while
  blocking completion of the fast dispatch.

To resolve this, if we detect that an existing Pipe we want to take over is
in the process of fast dispatching, we unlock our locks and wait on it to
finish. Then we go back to the lookup step and retry.

The effect of this should be safe:
1) We are not making any changes to the existing Pipe in new ways
2) We have not registered the new Pipe anywhere
3) We have not sent back any replies based on Messenger state to
   the remote endpoint.

Backport: giant
Fixes: #9921
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 2d6980570af2226fdee0edfcfe5a8e7f60fae615)

10 years agoosd: requeue PG when we skip handling a peering event
Sage Weil [Thu, 8 Jan 2015 21:34:52 +0000 (13:34 -0800)]
osd: requeue PG when we skip handling a peering event

If we don't handle the event, we need to put the PG back into the peering
queue or else the event won't get processed until the next event is
queued, at which point we'll be processing events with a delay.

The queue_null is not necessary (and is a waste of effort) because the
event is still in pg->peering_queue and the PG is queued.

Note that this only triggers when we exceeed osd_map_max_advance, usually
when there is a lot of peering and recovery activity going on.  A
workaround is to increase that value, but if you exceed osd_map_cache_size
you expose yourself to crache thrashing by the peering work queue, which
can cause serious problems with heavily degraded clusters and bit lots of
people on dumpling.

Backport: giant, firefly
Fixes: #10431
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 492ccc900c3358f36b6b14a207beec071eb06707)

10 years agoerasure-code: relax cauchy w restrictions 3185/head
Loic Dachary [Tue, 16 Dec 2014 12:31:30 +0000 (13:31 +0100)]
erasure-code: relax cauchy w restrictions

A restriction that the w parameter of the cauchy technique is limited to
8, 16 or 32 was added incorrectly while refactoring parameter parsing in
the jerasure plugin and must be relaxed.

http://tracker.ceph.com/issues/10325 Fixes: #10325

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit bb80437f247345502203ad87a7e7bbb5b5602b9a)

10 years agocrush/CrushWrapper: fix create_or_move_item when name exists but item does not 3178/head
Sage Weil [Mon, 24 Nov 2014 02:50:51 +0000 (18:50 -0800)]
crush/CrushWrapper: fix create_or_move_item when name exists but item does not

We were using item_exists(), which simply checks if we have a name defined
for the item.  Instead, use _search_item_exists(), which looks for an
instance of the item somewhere in the hierarchy.  This matches what
get_item_weightf() is doing, which ensures we get a non-negative weight
that converts properly to floating point.

Backport: giant, firefly
Fixes: #9998
Reported-by: Pawel Sadowski <ceph@sadziu.pl>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9902383c690dca9ed5ba667800413daa8332157e)

10 years agocrush/builder: prevent bucket weight underflow on item removal
Sage Weil [Sat, 22 Nov 2014 01:47:56 +0000 (17:47 -0800)]
crush/builder: prevent bucket weight underflow on item removal

It is possible to set a bucket weight that is not the sum of the item
weights if you manually modify/build the CRUSH map.  Protect against any
underflow on the bucket weight when removing items.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 8c87e9502142d5b4a282b94f929ae776a49be1dc)

10 years agocrush/CrushWrapper: fix _search_item_exists
Sage Weil [Sat, 22 Nov 2014 01:37:03 +0000 (17:37 -0800)]
crush/CrushWrapper: fix _search_item_exists

Reported-by: Pawel Sadowski <ceph@sadziu.pl>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit eeadd60714d908a3a033aeb7fd542c511e63122b)

10 years agoIf trusty, use older version of qemu
Warren Usui [Fri, 19 Dec 2014 04:00:28 +0000 (20:00 -0800)]
If trusty, use older version of qemu

Fixes #10319
Signed-off-by: Warren Usui <warren.usui@inktank.com>
(cherry-picked from 46a1a4cb670d30397979cd89808a2e420cef2c11)

10 years agoMerge pull request #3266 from ceph/giant-10415
Sage Weil [Mon, 29 Dec 2014 18:55:22 +0000 (10:55 -0800)]
Merge pull request #3266 from ceph/giant-10415

libcephfs/test.cc: close fd before umount

10 years agoerasure-code: update links to jerasure upstream 3263/head
Loic Dachary [Sun, 28 Dec 2014 09:29:54 +0000 (10:29 +0100)]
erasure-code: update links to jerasure upstream

It moved from bitbucket to jerasure.org

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 8e86f901939f16cc9c8ad7a4108ac4bcf3916d2c)