]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agorgw: Do not enclose the Bucket header in quotes 4862/head
Wido den Hollander [Wed, 3 Jun 2015 11:13:33 +0000 (13:13 +0200)]
rgw: Do not enclose the Bucket header in quotes

Fixes: #11860
Signed-off-by: Wido den Hollander <wido@42on.com>
(cherry picked from commit 8af25faed93fe02d3dad585b8579ce8b041cc4e6)

10 years agoMerge pull request #4795 from dachary/wip-11806-hammer
Loic Dachary [Fri, 29 May 2015 07:49:43 +0000 (09:49 +0200)]
Merge pull request #4795 from dachary/wip-11806-hammer

ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodebian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg 4795/head
Loic Dachary [Thu, 28 May 2015 08:35:51 +0000 (10:35 +0200)]
debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg

When ceph-objectstore-tool was moved from ceph-test to
ceph by 61cf5da0b51e2d9578c7b4bca85184317e30f4ca, the ceph package in
debian/control was updated accordingly, as recommended by
https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

The same must be done for the ceph-dbg package because
/usr/lib/debug/usr/bin/ceph-objectstore-too is no longer in
ceph-test-dbg.

Although the change was merged may 6th, 2015
8f23382064c189b657564d58c3f9d17720e891ed, teuthology jobs were not
always failing because packages were not systematically upgraded during
the installation. The missing dependencies that were responsible for
this upgrade problem were fixed by
f898ec1e4e3472b0202280f09653a769fc62c8d3 on may 18th, 2015 and all
upgrade tests relying on ceph-*-dbg packages started to fail
systematically after this date.

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

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

10 years agoMerge pull request #4773 from dachary/wip-11733-hammer
Ken Dreyer [Wed, 27 May 2015 01:52:59 +0000 (19:52 -0600)]
Merge pull request #4773 from dachary/wip-11733-hammer

Debian: ceph-test and rest-bench debug packages should require their respective binary packages

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agodebian: set rest-bench-dbg ceph-test-dbg dependencies 4773/head
Ken Dreyer [Mon, 18 May 2015 16:50:58 +0000 (10:50 -0600)]
debian: set rest-bench-dbg ceph-test-dbg dependencies

Debian's debug packages ought to depend on their respective binary
packages. This was the case for many of our ceph packages, but it was
not the case for ceph-test-dbg or rest-bench-dbg.

Add the dependencies on the relevant binary packages, pinned to
"= ${binary:Version}" per convention.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3)

10 years agoMerge pull request #4696 from ceph/wip-11622-hammer
Loic Dachary [Mon, 18 May 2015 12:26:16 +0000 (14:26 +0200)]
Merge pull request #4696 from ceph/wip-11622-hammer

Wip 11622 hammer

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4649 from ceph/wip-hammer-package-perf-objectstore
Sage Weil [Fri, 15 May 2015 20:47:04 +0000 (13:47 -0700)]
Merge pull request #4649 from ceph/wip-hammer-package-perf-objectstore

packaging: include ceph_perf_objectstore

10 years agorgw: merge manifests correctly when there's prefix override 4696/head
Yehuda Sadeh [Thu, 14 May 2015 00:05:22 +0000 (17:05 -0700)]
rgw: merge manifests correctly when there's prefix override

Fixes: #11622
Backport: hammer, firefly

Prefix override happens in a manifest when a rados object does not
conform to the generic prefix set on the manifest. When merging
manifests (specifically being used in multipart objects upload), we need
to check if the rule that we try to merge has a prefix that is the same
as the previous rule. Beforehand we checked if both had the same
override_prefix setting, but that might not apply as both manifests
might have different prefixes.

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

10 years agorgw: restore buffer of multipart upload after EEXIST
Yehuda Sadeh [Tue, 12 May 2015 23:40:10 +0000 (16:40 -0700)]
rgw: restore buffer of multipart upload after EEXIST

Fixes #11604
Backport: hammer, firefly

When we need to restart a write of part data, we need to revert to
buffer to before the write, otherwise we're going to skip some data.

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

10 years agopackaging: include ceph_perf_objectstore 4649/head
Ken Dreyer [Fri, 13 Mar 2015 22:08:35 +0000 (16:08 -0600)]
packaging: include ceph_perf_objectstore

The /usr/bin/ceph_perf_objectstore file is installed by default. Prior
to this commit it was missing from the packaging. This caused the RPM to
fail to build in mock.

Add ceph_perf_objectstore to the "ceph-test" RPM and Debian package.

If we end up developing further ceph_perf_* utilities, it would make
sense to glob them all with a wildcard, similar to what we are doing
with all the ceph_test_* utilities in ceph-test.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 338b44bc74bc4597939c5c58f2a6f2cb08de7d9c)

10 years agoMerge pull request #4568 from dachary/wip-10662-10663-hammer
Yehuda Sadeh [Mon, 11 May 2015 17:27:02 +0000 (10:27 -0700)]
Merge pull request #4568 from dachary/wip-10662-10663-hammer

RGW swift API: Response header of COPY request for object does not

contain x-copied-from, custom metadata, x-copied-from-last-modified, X-Copied-From-Account headers

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4629 from ceph/hammer-uclient-checking
Loic Dachary [Mon, 11 May 2015 12:08:53 +0000 (14:08 +0200)]
Merge pull request #4629 from ceph/hammer-uclient-checking

Hammer uclient checking

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoclient: fix error handling in check_pool_perm 4629/head
John Spray [Thu, 7 May 2015 17:42:01 +0000 (18:42 +0100)]
client: fix error handling in check_pool_perm

Previously, on an error such as a pool not existing,
the caller doing the check would error out, but
anyone waiting on waiting_for_pool_perm would
block indefinitely (symptom was that reads on a
file with a bogus layout would block forever).

Fix by triggering the wait list on errors and
clear the CHECKING state so that the other callers
also perform the check and find the error.

Additionally, don't return the RADOS error code
up to filesystem users, because it can be
misleading.  For example, nonexistent pool is
ENOENT, but we shouldn't give ENOENT on IO
to a file which does exist, we should give EIO.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit e08cf25cafef5752877439c18cc584b0a75eca08)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: use SaferCond in check_pool_perm
John Spray [Thu, 7 May 2015 17:17:37 +0000 (18:17 +0100)]
client: use SaferCond in check_pool_perm

Just because it's easier to read.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 289ee3b80ccce6bab2966f513a37332280d04a06)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: check OSD caps before read/write
Yan, Zheng [Fri, 24 Apr 2015 07:23:21 +0000 (15:23 +0800)]
client: check OSD caps before read/write

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 3c4028ec21e3ef9e8801c4570420c88722651cc7)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4567 from dachary/wip-10938-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:07:07 +0000 (11:07 -0700)]
Merge pull request #4567 from dachary/wip-10938-hammer

RGW Swift API: response for GET/HEAD on container does not contain the X-Timestamp header

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4570 from dachary/wip-10243-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:05:59 +0000 (11:05 -0700)]
Merge pull request #4570 from dachary/wip-10243-hammer

civetweb is hitting a limit (number of threads 1024)

10 years agoMerge pull request #4573 from dachary/wip-11125-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:05:41 +0000 (11:05 -0700)]
Merge pull request #4573 from dachary/wip-11125-hammer

rgw: keystone token cache does not work correctly

10 years agoMerge pull request #4574 from dachary/wip-11160-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:05:22 +0000 (11:05 -0700)]
Merge pull request #4574 from dachary/wip-11160-hammer

rgw: shouldn't need to disable rgw_socket_path if frontend is configured

10 years agoMerge pull request #4575 from dachary/wip-10650-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:04:36 +0000 (11:04 -0700)]
Merge pull request #4575 from dachary/wip-10650-hammer

Response header of swift API PUT /container/object returned by RGW

does not contain last-modified, content-length, x-trans-id headers. But Swift returns these headers.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4576 from dachary/wip-10661-hammer
Yehuda Sadeh [Fri, 8 May 2015 18:03:37 +0000 (11:03 -0700)]
Merge pull request #4576 from dachary/wip-10661-hammer

RGW swift API: Response header of POST request for object does not contain content-length and x-trans-id headers

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4579 from dachary/wip-11036-hammer
Yehuda Sadeh [Fri, 8 May 2015 17:59:15 +0000 (10:59 -0700)]
Merge pull request #4579 from dachary/wip-11036-hammer

RGW Swift API: response for PUT on /container does not contain the mandatory Content-Length header when FCGI is used

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4580 from dachary/wip-11088-hammer
Yehuda Sadeh [Fri, 8 May 2015 17:57:47 +0000 (10:57 -0700)]
Merge pull request #4580 from dachary/wip-11088-hammer

RGW Swift API: wrong handling of empty metadata on Swift container

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4581 from dachary/wip-11323-hammer
Yehuda Sadeh [Fri, 8 May 2015 17:57:12 +0000 (10:57 -0700)]
Merge pull request #4581 from dachary/wip-11323-hammer

rgw: quota not respected in POST object

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4566 from dachary/wip-11478-hammer
Josh Durgin [Fri, 8 May 2015 16:15:41 +0000 (09:15 -0700)]
Merge pull request #4566 from dachary/wip-11478-hammer

Queued AIO reference counters not properly updated

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4564 from dachary/wip-11369-hammer
Josh Durgin [Fri, 8 May 2015 16:15:19 +0000 (09:15 -0700)]
Merge pull request #4564 from dachary/wip-11369-hammer

Periodic failure of TestLibRBD.DiffIterateStress

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4585 from ceph/wip-11370-hammer
Loic Dachary [Fri, 8 May 2015 15:32:35 +0000 (17:32 +0200)]
Merge pull request #4585 from ceph/wip-11370-hammer

A retransmit of proxied flatten request can result in -EINVAL

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4618 from dachary/wip-11398-kill-daemons-hammer
Kefu Chai [Fri, 8 May 2015 12:39:29 +0000 (20:39 +0800)]
Merge pull request #4618 from dachary/wip-11398-kill-daemons-hammer

tests: ceph-helpers kill_daemons fails when kill fails

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agotests: ceph-helpers kill_daemons fails when kill fails 4618/head
Loic Dachary [Wed, 6 May 2015 18:14:37 +0000 (20:14 +0200)]
tests: ceph-helpers kill_daemons fails when kill fails

Instead of silently leaving the daemons running, it returns failure so
the caller can decide what to do with this situation. The timeout is
also extended to minutes instead of seconds to gracefully handle the
rare situations when a machine is extra slow for some reason.

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

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

10 years agoAdded a "ceph hello world" for a simple check for ceph-deploy qa suite
Yuri Weinstein [Fri, 8 May 2015 00:12:35 +0000 (17:12 -0700)]
Added a "ceph hello world" for a simple check for ceph-deploy qa suite

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit 13abae186357f4e9bb40990a7a212f93ec2e1e79)

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
10 years agoMerge pull request #4502 from dachary/wip-11026-hammer
Sage Weil [Thu, 7 May 2015 20:29:57 +0000 (13:29 -0700)]
Merge pull request #4502 from dachary/wip-11026-hammer

objecter: can get stuck in redirect loop if osdmap epoch == last_force_op_resend

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4562 from dachary/wip-11376-hammer
Loic Dachary [Thu, 7 May 2015 19:45:53 +0000 (21:45 +0200)]
Merge pull request #4562 from dachary/wip-11376-hammer

ceph-objectstore-tool should be in the ceph server package

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agopackaging: mv ceph-objectstore-tool to main ceph pkg 4562/head
Ken Dreyer [Thu, 30 Apr 2015 21:53:22 +0000 (15:53 -0600)]
packaging: mv ceph-objectstore-tool to main ceph pkg

This change ensures that the ceph-objectstore-tool utility is present on
all OSDs.  This makes it easier for users to run this tool to do manual
debugging/recovery in some scenarios.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 61cf5da0b51e2d9578c7b4bca85184317e30f4ca)
    Conflicts:
            debian/control
            because file layout changes from ceph-test and ceph << 0.94.1-46

10 years agoMerge pull request #4561 from dachary/wip-11143-hammer
Loic Dachary [Thu, 7 May 2015 17:05:48 +0000 (19:05 +0200)]
Merge pull request #4561 from dachary/wip-11143-hammer

src/ceph-disk : disk zap sgdisk invocation

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4560 from dachary/wip-11507-hammer
Loic Dachary [Thu, 7 May 2015 17:03:53 +0000 (19:03 +0200)]
Merge pull request #4560 from dachary/wip-11507-hammer

object creation by write cannot use an offset on an erasure coded pool

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4559 from dachary/wip-11429-hammer
Loic Dachary [Thu, 7 May 2015 17:03:16 +0000 (19:03 +0200)]
Merge pull request #4559 from dachary/wip-11429-hammer

OSD::load_pgs: we need to handle the case where an upgrade from earlier versions which ignored non-existent pgs resurrects a pg with a prehistoric osdmap

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4563 from tchaikov/wip-hammer-11534
Loic Dachary [Thu, 7 May 2015 16:48:56 +0000 (18:48 +0200)]
Merge pull request #4563 from tchaikov/wip-hammer-11534

mon: Total size of OSDs is a maginitude less than it is supposed to be.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4577 from dachary/wip-10666-hammer
Loic Dachary [Thu, 7 May 2015 16:18:17 +0000 (18:18 +0200)]
Merge pull request #4577 from dachary/wip-10666-hammer

RGW swift API: Response header of GET request for container does not contain X-Container-Object-Count, X-Container-Bytes-Used and x-trans-id headers

Reviewed-by: Dmytro Iurchenko <diurchenko@mirantis.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: send Content-Length in response for HEAD on Swift account. 4579/head
Radoslaw Zarzynski [Sun, 8 Mar 2015 21:45:34 +0000 (22:45 +0100)]
rgw: send Content-Length in response for HEAD on Swift account.

Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 29073d84640b61d0221b2d2ab73c271d60fd13ba)

10 years agorgw: send Content-Length in response for DELETE on Swift container.
Radoslaw Zarzynski [Fri, 6 Mar 2015 12:18:19 +0000 (13:18 +0100)]
rgw: send Content-Length in response for DELETE on Swift container.

Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit d260a93405a7a34a899f716bd9c4e731baa9ffd0)

10 years agorgw: send Content-Length in response for PUT on Swift container.
Radoslaw Zarzynski [Fri, 6 Mar 2015 12:14:26 +0000 (13:14 +0100)]
rgw: send Content-Length in response for PUT on Swift container.

Fixes: #11036
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 10c1f1aa1e09df5edf5d2f9f9b0273ddbcb384fa)

10 years agolibrbd: flatten should return -EROFS if image is read-only 4585/head
Jason Dillaman [Mon, 27 Apr 2015 05:03:52 +0000 (01:03 -0400)]
librbd: flatten should return -EROFS if image is read-only

Fixes: #11475
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f141e02ab719df830648318f4c1d9ca286071ed3)

10 years agolibrbd: allow snapshots to be created when snapshot is active
Jason Dillaman [Mon, 27 Apr 2015 05:00:38 +0000 (01:00 -0400)]
librbd: allow snapshots to be created when snapshot is active

The librbd API previously permitted the creation of snapshots while
the image context was associated to another snapshot.  A recent code
cleanup broke that ability, so this re-introduces it.  The code change
also allows minor cleanup with rebuild_object_map.

Fixes: #11475
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 594a6610802f2cadb62200815bd8b9860809e759)

Conflicts:
src/librbd/internal.cc

10 years agolibrbd: better handling for duplicate flatten requests
Jason Dillaman [Tue, 21 Apr 2015 16:59:33 +0000 (12:59 -0400)]
librbd: better handling for duplicate flatten requests

A proxied flatten request could be replayed, resulting in a
-EINVAL error code being generated on the second attempt. Filter
out that error if it is known the parent did exist before the
op started.

Fixes: #11370
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ef7e210c3f747bc4c3c8768c7b6407cc91c5c319)

10 years agolibrbd: use generic helper for issuing async requests
Jason Dillaman [Wed, 18 Mar 2015 15:51:47 +0000 (11:51 -0400)]
librbd: use generic helper for issuing async requests

resize, flatten, and rebuild object map now use the same
bootstrap code for sending the request to the remote lock owner
or executing the request locally.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 18fd6ca7f59d5545f0bb0b0e899d0739639ce104)

Conflicts:
src/librbd/internal.cc

10 years agoOSD: handle the case where we resurrected an old, deleted pg 4559/head
Samuel Just [Tue, 21 Apr 2015 06:45:57 +0000 (23:45 -0700)]
OSD: handle the case where we resurrected an old, deleted pg

Prior to giant, we would skip pgs in load_pgs which were not present in
the current osdmap.  Those pgs would eventually refer to very old
osdmaps, which we no longer have causing the assertion failure in 11429
once the osd is finally upgraded to a version which does not skip the
pgs.  Instead, if we do not have the map for the pg epoch, complain to
the osd log and skip the pg.

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

10 years agorgw: improve metadata handling on copy operation of Swift API. 4568/head
Radoslaw Zarzynski [Sat, 21 Mar 2015 14:53:08 +0000 (15:53 +0100)]
rgw: improve metadata handling on copy operation of Swift API.

Fixes: #10645
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit a00cb31cc52e91bfacdd15e0af60be74e66c1996)

10 years agorgw: quota not respected in POST object 4581/head
9seconds [Wed, 1 Apr 2015 06:12:06 +0000 (09:12 +0300)]
rgw: quota not respected in POST object

Signed-off-by: Sergey Arkhipov <nineseconds@yandex.ru>
Backport: hammer, firefly
Fixes: #11323
(cherry picked from commit e76f84e179d2ba8bfc0dc5abf4e620fef14bc8a0)

Conflicts:
src/rgw/rgw_op.cc
        discard the whitespace modification hunk that were creating
conflict and ignore the conflict due to an unrelated cast
        modification in the context

10 years agorgw: fix handling empty metadata items on Swift container. 4580/head
Radoslaw Zarzynski [Tue, 10 Mar 2015 18:36:59 +0000 (19:36 +0100)]
rgw: fix handling empty metadata items on Swift container.

Fixes: #11088
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 1660d8625212f7b5fb30568ed640f467297e36cb)

10 years agorgw: send Content-Length in response for GET on Swift container. 4578/head
Radoslaw Zarzynski [Fri, 27 Feb 2015 14:23:16 +0000 (15:23 +0100)]
rgw: send Content-Length in response for GET on Swift container.

Fixes: #10971
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 5a64fb5430b6b42174bf53a5910d9435043c1380)

10 years agorgw: enable end_header() to handle proposal of Content-Length.
Radoslaw Zarzynski [Fri, 6 Mar 2015 11:42:52 +0000 (12:42 +0100)]
rgw: enable end_header() to handle proposal of Content-Length.

Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit f98fd4dfda7a105d621f99c2b48eb9ab9b45d979)

10 years agorgw: Swift API. Complement the response to "show container details" 4577/head
Dmytro Iurchenko [Mon, 16 Feb 2015 16:47:59 +0000 (18:47 +0200)]
rgw: Swift API. Complement the response to "show container details"

OpenStack Object Storage API v1 states that X-Container-Object-Count, X-Container-Bytes-Used and user-defined metadata headers should be included in a response.

Fixes: #10666
Backport: hammer
Reported-by: Ahmad Faheem <ahmad.faheem@ril.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
(cherry picked from commit d3a3d5ae5859cd7f2eed307e8f942f9a9fd75f35)

10 years agorgw: enforce Content-Length in response for POST on Swift cont/obj. 4576/head
Radoslaw Zarzynski [Thu, 26 Feb 2015 18:21:03 +0000 (19:21 +0100)]
rgw: enforce Content-Length in response for POST on Swift cont/obj.

Fixes: #10661
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit fd0c612cf867d2e99e74820130357e63305970fb)

10 years agorgw: send Last-Modified header in response for PUT on Swift object. 4575/head
Radoslaw Zarzynski [Fri, 13 Mar 2015 20:41:45 +0000 (21:41 +0100)]
rgw: send Last-Modified header in response for PUT on Swift object.

Fixes: #10650
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 9a22acc57684534a245f25848c23d1db21f16653)

10 years agorgw: don't use rgw_socket_path if frontend is configured 4574/head
Yehuda Sadeh [Thu, 19 Mar 2015 03:49:13 +0000 (20:49 -0700)]
rgw: don't use rgw_socket_path if frontend is configured

Fixes: #11160
Backport: hammer, firefly

Previously if we wanted to use the tcp fcgi socket, we needed to clear
rgw_socket_path.

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

10 years agorgw: update keystone cache with token info 4573/head
Yehuda Sadeh [Tue, 3 Mar 2015 19:03:35 +0000 (11:03 -0800)]
rgw: update keystone cache with token info

Fixes: #11125
Backport: hammer, firefly

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

10 years agocivetweb: update max num of threads 4570/head
Yehuda Sadeh [Tue, 21 Apr 2015 18:08:45 +0000 (11:08 -0700)]
civetweb: update max num of threads

Fixes: #10243
cherry-picked upstream fixed into submodule

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

10 years agorgw: improve code formatting ONLY.
Radoslaw Zarzynski [Tue, 7 Apr 2015 12:09:57 +0000 (14:09 +0200)]
rgw: improve code formatting ONLY.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 214c8b32b1b04885005e929a7ed2d4354b3ea20b)

10 years agorgw: send X-Copied-From-Last-Modified header of Swift API.
Radoslaw Zarzynski [Tue, 17 Mar 2015 13:07:34 +0000 (14:07 +0100)]
rgw: send X-Copied-From-Last-Modified header of Swift API.

Fixes: #10663
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit e7724a1d8c0872362c19f578fe30ac2cf3dada90)

10 years agorgw: dump object metadata in response for COPY request of Swift API.
Radoslaw Zarzynski [Tue, 17 Mar 2015 13:06:37 +0000 (14:06 +0100)]
rgw: dump object metadata in response for COPY request of Swift API.

Fixes: #10663
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit c52b75edeaeef19471b9aca772bf08055bf04031)

10 years agorgw: refactor dumping metadata of Swift objects.
Radoslaw Zarzynski [Fri, 13 Mar 2015 16:59:01 +0000 (17:59 +0100)]
rgw: refactor dumping metadata of Swift objects.

Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit ccf6eaac6f7068289c4a4ffd3f0481d497ba7c87)

10 years agorgw: add support for X-Copied-From{-Account} headers of Swift API.
Radoslaw Zarzynski [Fri, 13 Mar 2015 17:37:39 +0000 (18:37 +0100)]
rgw: add support for X-Copied-From{-Account} headers of Swift API.

Fixes: #10663
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 94f1375ccb9df02cdd8f6828153ae2e3a7ad36b1)

10 years agorgw: send ETag, Last-Modified in response for copying Swift cobject.
Radoslaw Zarzynski [Wed, 11 Mar 2015 13:08:03 +0000 (14:08 +0100)]
rgw: send ETag, Last-Modified in response for copying Swift cobject.

Fixes: #11087
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 385fe4b4bbbd4a9aab92abf2a813090deeaa037e)

10 years agorgw: Swift API. Allows setting attributes with COPY object operation.
Dmytro Iurchenko [Fri, 20 Feb 2015 16:31:03 +0000 (18:31 +0200)]
rgw: Swift API. Allows setting attributes with COPY object operation.

http://developer.openstack.org/api-ref-objectstorage-v1.html says: "With COPY, you can add additional metadata to the object."

Fixes: #10662
Backport: hammer
Reported-by: Ahmad Faheem <ahmad.faheem@ril.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
(cherry picked from commit 1b722bbcd691e0a4a39ea77cd28e309fd723ec88)

10 years agorgw: improve format of X-Timestamp on Swift objects. 4567/head
Radoslaw Zarzynski [Wed, 25 Feb 2015 15:12:58 +0000 (16:12 +0100)]
rgw: improve format of X-Timestamp on Swift objects.

Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit e54fef9542bc2b5db192308728a99df139a4b6cf)

10 years agorgw: add support for X-Timestamp on Swift containers.
Radoslaw Zarzynski [Wed, 25 Feb 2015 13:11:40 +0000 (14:11 +0100)]
rgw: add support for X-Timestamp on Swift containers.

Fixes: #10938
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit b7e9bf6b98ee48d1977d907a9e5130c0ce073c54)

10 years agotests: AioCompletion incorrectly freed 4566/head
Jason Dillaman [Mon, 27 Apr 2015 07:43:10 +0000 (03:43 -0400)]
tests: AioCompletion incorrectly freed

The AioCompletion should be released instead of directly
deleted.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 387a09eeeaf0b66b3a2ddc36388da27d5804a4c7)

10 years agolibrbd: update ref count when queueing AioCompletion
Jason Dillaman [Mon, 27 Apr 2015 07:42:24 +0000 (03:42 -0400)]
librbd: update ref count when queueing AioCompletion

If the client releases the AioCompletion while librbd is waiting
to acquire the exclusive lock, the memory associated with the
completion will be freed too early.

Fixes: #11478
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit fd7723a1e62e682ac5a5279231a9fd6f5682bf94)

10 years agolibrbd: failure to update the object map should always return success 4564/head
Jason Dillaman [Fri, 10 Apr 2015 16:37:05 +0000 (12:37 -0400)]
librbd: failure to update the object map should always return success

If an object map update fails, the object map will be flagged as
invalid.  However, if a subsequent update failure occurs, the error
code will propagate back to the caller.

Fixes: #11369
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 99f5a7d595c653447b351898192410c9cb773770)

10 years agotests: librados_test_stub reads should deep-copy
Jason Dillaman [Fri, 6 Mar 2015 20:40:48 +0000 (15:40 -0500)]
tests: librados_test_stub reads should deep-copy

If a client of librados_test_stub modified a bufferlist
retrieved via a read call, the client will actually be
changing the contents of the file.  Therefore, read calls
should deep-copy the contents of the buffer::ptrs.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 76fe8d73ff79da2d734f70680208a2c188b58671)

10 years agomon: Total size of OSDs is a maginitude less than it is supposed to be. 4563/head
Zhe Zhang [Tue, 5 May 2015 23:08:48 +0000 (18:08 -0500)]
mon: Total size of OSDs is a maginitude less than it is supposed to be.

When dumping statistics of OSDs such as running command "ceph osd df",
the sum of OSDs' size is 2^10 times less than their real size.

Fixes: #11534
Signed-off-by: Zhe Zhang <zzxuanyuan@gmail.com>
(cherry picked from commit 73d16f69d6f58fe8be262b0fb8db28c94605ea7d)

10 years agoFix "disk zap" sgdisk invocation 4561/head
Owen Synge [Tue, 17 Mar 2015 14:41:33 +0000 (15:41 +0100)]
Fix "disk zap" sgdisk invocation

Fixes #11143

If the metadata on the disk is truly invalid, sgdisk would fail to zero
it in one go, because --mbrtogpt apparently tried to operate on the
metadata it read before executing --zap-all.

Splitting this up into two separate invocations to first zap everything
and then clear it properly fixes this issue.

Based on patch by Lars Marowsky-Bree <lmb@suse.com> in ceph-deploy.
Created by Vincent Untz <vuntz@suse.com>

Signed-off-by: Owen Synge <osynge@suse.com>
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
(cherry picked from commit fdd7f8d83afa25c4e09aaedd90ab93f3b64a677b)

10 years agoosd: refuse to write a new erasure coded object with an offset > 0 4560/head
Jianpeng Ma [Fri, 6 Mar 2015 07:54:07 +0000 (15:54 +0800)]
osd: refuse to write a new erasure coded object with an offset > 0

Even if the offset is properly aligned.

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

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit a4f1256c214ee0e7ebb91ac4ea8655f5d9642dc8)

10 years agoMerge pull request #4481 from ceph/hammer-11482
Yan, Zheng [Wed, 6 May 2015 08:01:57 +0000 (16:01 +0800)]
Merge pull request #4481 from ceph/hammer-11482

mds: remove caps from revoking list when caps are voluntarily released

10 years agoceph_json: add decode / encoder for multimap
Yehuda Sadeh [Mon, 13 Apr 2015 23:33:17 +0000 (16:33 -0700)]
ceph_json: add decode / encoder for multimap

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

10 years agocls_rgw: use multimap to keep pending operations in bucket index
Yehuda Sadeh [Tue, 31 Mar 2015 00:34:57 +0000 (17:34 -0700)]
cls_rgw: use multimap to keep pending operations in bucket index

Fixes: #11256
Multiple concurrent requests might be sent using the same tag, need the
entry map to be able to hold multiple entries.

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

10 years agorgw: generate new tag for object when setting object attrs
Yehuda Sadeh [Fri, 27 Mar 2015 23:32:48 +0000 (16:32 -0700)]
rgw: generate new tag for object when setting object attrs

Fixes: #11256
Backport: firefly, hammer

Beforehand we were reusing the object's tag, which is problematic as
this tag is used for bucket index updates, and we might be clobbering a
racing update (like object removal).

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

10 years agojava: libcephfs_jni.so is in /usr/lib64 on rhel
Noah Watkins [Sat, 28 Mar 2015 02:34:12 +0000 (19:34 -0700)]
java: libcephfs_jni.so is in /usr/lib64 on rhel

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit aed3434dc7c5161c72c7d5655faa3bc693fc9777)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4498 from dachary/wip-11342-hammer
Loic Dachary [Mon, 4 May 2015 21:58:37 +0000 (23:58 +0200)]
Merge pull request #4498 from dachary/wip-11342-hammer

librbd notification race condition on snap_create

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4497 from dachary/wip-7385-hammer
Loic Dachary [Mon, 4 May 2015 21:58:18 +0000 (23:58 +0200)]
Merge pull request #4497 from dachary/wip-7385-hammer

Objectcacher setting max object counts too low

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4499 from dachary/wip-11363-hammer
Loic Dachary [Mon, 4 May 2015 21:57:48 +0000 (23:57 +0200)]
Merge pull request #4499 from dachary/wip-11363-hammer

ImageWatcher should cancel in-flight ops on watch error

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4496 from dachary/wip-5488-hammer
Loic Dachary [Mon, 4 May 2015 21:57:17 +0000 (23:57 +0200)]
Merge pull request #4496 from dachary/wip-5488-hammer

librbd: deadlock in image refresh

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #4505 from dachary/wip-11322-hammer
Loic Dachary [Mon, 4 May 2015 14:31:24 +0000 (16:31 +0200)]
Merge pull request #4505 from dachary/wip-11322-hammer

rgw - improve performance for large object (multiple chunks) GET

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4501 from dachary/wip-11001-hammer
Loic Dachary [Mon, 4 May 2015 14:24:53 +0000 (16:24 +0200)]
Merge pull request #4501 from dachary/wip-11001-hammer

Improve rgw HEAD request by avoiding read the body of the first chunk

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4500 from dachary/wip-11047-hammer
Loic Dachary [Mon, 4 May 2015 14:23:28 +0000 (16:23 +0200)]
Merge pull request #4500 from dachary/wip-11047-hammer

rgw : make quota/gc thread configurable for starting

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4504 from dachary/wip-10691-hammer
Loic Dachary [Mon, 4 May 2015 09:46:13 +0000 (11:46 +0200)]
Merge pull request #4504 from dachary/wip-10691-hammer

ceph-dencoder links to libtcmalloc, and shouldn't

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4503 from dachary/wip-10983-hammer
Loic Dachary [Mon, 4 May 2015 09:44:11 +0000 (11:44 +0200)]
Merge pull request #4503 from dachary/wip-10983-hammer

use a new disk as journal disk,ceph-disk prepare fail

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4507 from dachary/wip-11432-hammer
Loic Dachary [Mon, 4 May 2015 09:43:23 +0000 (11:43 +0200)]
Merge pull request #4507 from dachary/wip-11432-hammer

compilation error: No high-precision counter available (armhf, powerpc..)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4515 from ceph/hammer-next
Sage Weil [Fri, 1 May 2015 00:10:29 +0000 (17:10 -0700)]
Merge pull request #4515 from ceph/hammer-next

rgw: critical fixes for hammer

10 years agoMerge pull request #4462 from liewegas/wip-11211-hammer
Samuel Just [Thu, 30 Apr 2015 16:23:53 +0000 (09:23 -0700)]
Merge pull request #4462 from liewegas/wip-11211-hammer

osd/ReplicatedPG: don't check order in finish_proxy_read

10 years agorgw-admin: a tool to fix object locator issue 4515/head
Yehuda Sadeh [Wed, 22 Apr 2015 22:39:05 +0000 (15:39 -0700)]
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>
(cherry picked from commit be4355ad8ed622734172fdce77ca71fb2635b36c)

10 years agorgw: set a special object locator if object starts with underscore
Yehuda Sadeh [Wed, 22 Apr 2015 00:31:41 +0000 (17:31 -0700)]
rgw: set a special object locator if object starts with underscore

Fixes: #11442
Backport: hammer

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

10 years agorgw: use correct oid when creating gc chains
Yehuda Sadeh [Thu, 23 Apr 2015 22:33:03 +0000 (15:33 -0700)]
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>
(cherry picked from commit cc5d34678c6d4bdcd552e6334a383c4df9797f46)

10 years agorgw: civetweb should use unique request id
Orit Wasserman [Thu, 23 Apr 2015 15:36:47 +0000 (17:36 +0200)]
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>
(cherry picked from commit c26225980c2fd018e70033a453d635533fcdefec)

10 years agoMerge pull request #4506 from dachary/wip-11381-hammer
Gregory Farnum [Wed, 29 Apr 2015 22:02:56 +0000 (15:02 -0700)]
Merge pull request #4506 from dachary/wip-11381-hammer

messenger: double clear of pipe in reaper

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMove ceph-dencoder build to client 4504/head
Boris Ranto [Mon, 13 Apr 2015 10:38:58 +0000 (12:38 +0200)]
Move ceph-dencoder build to client

The patch simply moves the ceph-dencoder build from server part of the
Makefiles to client part of the Makefiles.

Refs: #10691

Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit ef2164725f0b55ffa4b609d407eed5f3f3048b46)

10 years agoRework mds/Makefile.am to support a dencoder client build
Boris Ranto [Mon, 13 Apr 2015 13:07:03 +0000 (15:07 +0200)]
Rework mds/Makefile.am to support a dencoder client build

The patch adds all the mds sources to DENCODER_SOURCES to allow a
dencoder client build. The patch also splits the Makefile.am file to
better accomodate the change.

Refs: #10691

Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit c2b3a35fb3cbf28d46a5427f32fbaff142c85f2a)

Conflicts:
        src/mds/Makefile-server.am
src/mds/Makefile.am
        because the mds/StrayManager.h file was added after hammer

10 years agoAdd support for PPC architecture, provide fallback 4507/head
James Page [Fri, 13 Mar 2015 19:46:04 +0000 (19:46 +0000)]
Add support for PPC architecture, provide fallback

Add high precision cpu cycles support for powerpc and powerpc64.

Provide a fallback for other architectures and warn during
compilation.

Signed-off-by: James Page <james.page@ubuntu.com>
(cherry picked from commit b2781fb5638afae7438b983a912ede126a8c5b85)

10 years agoFix clear_pipe after reaping progress 4506/head
Haomai Wang [Fri, 17 Apr 2015 14:07:00 +0000 (22:07 +0800)]
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>
(cherry picked from commit 0ea0e011a6a6c6d6b40f5d97328bbad0e4568dd7)

10 years agorgw : Issue AIO for next chunk first before flush the (cached) data. 4505/head
Guang Yang [Fri, 3 Apr 2015 12:27:04 +0000 (12:27 +0000)]
rgw : Issue AIO for next chunk first before flush the (cached) data.

When handling GET request for large object (with multiple chunks), currently it will first flush the
cached data, and then issue AIO request for next chunk, this has the potential issue to make the retriving
from OSD and sending to client serialized. This patch switch the two operations.

Fixes: 11322
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit 366e8a85c0e9f00eed364eaebbfb6b672852eae9)