]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoosdc/Journaler: make sure flush() writes enough data 20435/head
Yan, Zheng [Mon, 29 Jan 2018 02:59:00 +0000 (10:59 +0800)]
osdc/Journaler: make sure flush() writes enough data

If _do_flush() fails to write all data because of prezere, _do_flush()
should be called again when prezero finishes. Otherwise flush waiters
may sleep forever.

Fixes: http://tracker.ceph.com/issues/22824
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 94a2076b9de9e8ffb73f3d5c873bdb87a0429e65)

7 years agoMerge pull request #19907 from pdvian/wip-22590-jewel
Nathan Cutler [Tue, 6 Feb 2018 23:16:33 +0000 (00:16 +0100)]
Merge pull request #19907 from pdvian/wip-22590-jewel

jewel: cephfs: ceph.in: pass RADOS inst to LibCephFS

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20067 from smithfarm/wip-22762-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:38:56 +0000 (15:38 +0100)]
Merge pull request #20067 from smithfarm/wip-22762-jewel

jewel: mds: unbalanced auth_pin/auth_unpin in RecoveryQueue code

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #20074 from smithfarm/wip-22772-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:35:34 +0000 (15:35 +0100)]
Merge pull request #20074 from smithfarm/wip-22772-jewel

jewel: rgw: user creation can overwrite existing user even if different uid is given

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20057 from linuxbox2/jewel-rgw-latchfix
Nathan Cutler [Tue, 6 Feb 2018 14:34:31 +0000 (15:34 +0100)]
Merge pull request #20057 from linuxbox2/jewel-rgw-latchfix

jewel: rgw: rgw_file: alternate fix deadlock on lru eviction

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #20039 from oritwas/wip-rgw-jewel-22703
Nathan Cutler [Tue, 6 Feb 2018 14:33:15 +0000 (15:33 +0100)]
Merge pull request #20039 from oritwas/wip-rgw-jewel-22703

jewel: rgw: resharding needs to set back the bucket ACL after link

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #19908 from pdvian/wip-22582-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:31:33 +0000 (15:31 +0100)]
Merge pull request #19908 from pdvian/wip-22582-jewel

jewel: rgw: dont log EBUSY errors in 'sync error list'

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #19783 from ceph/wip-rgw-22182
Nathan Cutler [Tue, 6 Feb 2018 14:30:18 +0000 (15:30 +0100)]
Merge pull request #19783 from ceph/wip-rgw-22182

jewel: rgw: segfaults after running radosgw-admin data sync init

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #18305 from smithfarm/wip-21447-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:26:56 +0000 (15:26 +0100)]
Merge pull request #18305 from smithfarm/wip-21447-jewel

jewel: rgw: multisite: Get bucket location which is located in another zonegroup, will return 301 Moved Permanently

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18121 from linuxbox2/jewel-quota-multipart
Nathan Cutler [Tue, 6 Feb 2018 14:25:26 +0000 (15:25 +0100)]
Merge pull request #18121 from linuxbox2/jewel-quota-multipart

jewel: RGW: Multipart upload may double the quota

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #18116 from linuxbox2/jewel-mpserializer
Nathan Cutler [Tue, 6 Feb 2018 14:15:59 +0000 (15:15 +0100)]
Merge pull request #18116 from linuxbox2/jewel-mpserializer

jewel: rgw: release cls lock if taken in RGWCompleteMultipart

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #17731 from ceph/wip-rgw-jewel-15998
Nathan Cutler [Tue, 6 Feb 2018 14:14:20 +0000 (15:14 +0100)]
Merge pull request #17731 from ceph/wip-rgw-jewel-15998

jewel: rgw: fix marker encoding problem

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Marcus Watts <mwatts@redhat.com>
7 years agoMerge pull request #17151 from smithfarm/wip-20480-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:12:42 +0000 (15:12 +0100)]
Merge pull request #17151 from smithfarm/wip-20480-jewel

jewel: rgw: log includes zero byte sometimes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #17149 from smithfarm/wip-20399-jewel
Nathan Cutler [Tue, 6 Feb 2018 14:10:34 +0000 (15:10 +0100)]
Merge pull request #17149 from smithfarm/wip-20399-jewel

jewel: rgw: rgw_file: recursive lane lock can occur in LRU drain

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #16763 from linuxbox2/mb-jewel-rgw-delparts
Nathan Cutler [Tue, 6 Feb 2018 13:53:55 +0000 (14:53 +0100)]
Merge pull request #16763 from linuxbox2/mb-jewel-rgw-delparts

jewel: rgw: fix the bug that part's index can't be removed after completing

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #16708 from linuxbox2/wip-jewel-15912-15673
Nathan Cutler [Tue, 6 Feb 2018 13:51:07 +0000 (14:51 +0100)]
Merge pull request #16708 from linuxbox2/wip-jewel-15912-15673

jewel: rgw: Fix duplicate tag removal during GC, cls/refcount: store and use list of retired tags)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #19975 from pdvian/wip-22689-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:48:06 +0000 (14:48 +0100)]
Merge pull request #19975 from pdvian/wip-22689-jewel

jewel: client: release revoking Fc after invalidate cache

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #18084 from batrick/i17935
Nathan Cutler [Tue, 6 Feb 2018 13:45:42 +0000 (14:45 +0100)]
Merge pull request #18084 from batrick/i17935

jewel: ceph_volume_client: fix setting caps for IDs

Reviewed-by: Ramana Raja <rraja@redhat.com>
7 years agoMerge pull request #17925 from batrick/i21519
Nathan Cutler [Tue, 6 Feb 2018 13:42:32 +0000 (14:42 +0100)]
Merge pull request #17925 from batrick/i21519

jewel: client: set client_try_dentry_invalidate to false by default

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #17188 from smithfarm/wip-21067-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:40:50 +0000 (14:40 +0100)]
Merge pull request #17188 from smithfarm/wip-21067-jewel

jewel: mds: fix integer overflow

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20287 from smithfarm/wip-22191-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:38:04 +0000 (14:38 +0100)]
Merge pull request #20287 from smithfarm/wip-22191-jewel

jewel: class rbd.Image discard----OSError: [errno 2147483648] error discarding region

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20286 from smithfarm/wip-22186-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:37:10 +0000 (14:37 +0100)]
Merge pull request #20286 from smithfarm/wip-22186-jewel

jewel: abort in listing mapped nbd devices when running in a container

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #19801 from smithfarm/wip-21642-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:36:13 +0000 (14:36 +0100)]
Merge pull request #19801 from smithfarm/wip-21642-jewel

jewel: rbd ls -l crashes with SIGABRT

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20282 from smithfarm/wip-21971-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:33:16 +0000 (14:33 +0100)]
Merge pull request #20282 from smithfarm/wip-21971-jewel

jewel: [journal] tags are not being expired if no other clients are registered

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20281 from smithfarm/wip-21290-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:32:10 +0000 (14:32 +0100)]
Merge pull request #20281 from smithfarm/wip-21290-jewel

jewel: [rbd] image-meta list does not return all entries

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #20280 from smithfarm/wip-21266-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:30:55 +0000 (14:30 +0100)]
Merge pull request #20280 from smithfarm/wip-21266-jewel

jewel: [cli] rename of non-existent image results in seg fault

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19855 from pdvian/wip-22594-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:28:25 +0000 (14:28 +0100)]
Merge pull request #19855 from pdvian/wip-22594-jewel

jewel: rbd: librbd: filter out potential race with image rename

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19644 from pdvian/wip-22498-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:26:20 +0000 (14:26 +0100)]
Merge pull request #19644 from pdvian/wip-22498-jewel

jewel: rbd-mirror: cluster watcher should ensure it has latest OSD map

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19186 from pdvian/wip-22209-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:25:12 +0000 (14:25 +0100)]
Merge pull request #19186 from pdvian/wip-22209-jewel

jewel: rbd: disk usage on empty pool no longer returns an error message

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19115 from pdvian/wip-22173-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:24:10 +0000 (14:24 +0100)]
Merge pull request #19115 from pdvian/wip-22173-jewel

jewel: [rbd-nbd] Fedora does not register resize events

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19098 from pdvian/wip-22170-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:22:53 +0000 (14:22 +0100)]
Merge pull request #19098 from pdvian/wip-22170-jewel

jewel: librbd: set deleted parent pointer to null

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #18843 from shinobu-x/wip-21866-jewel
Nathan Cutler [Tue, 6 Feb 2018 13:21:13 +0000 (14:21 +0100)]
Merge pull request #18843 from shinobu-x/wip-21866-jewel

jewel: rbd: rbd crashes during map

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #19194 from mdw-at-linuxbox/wip-jewel-rgw-swift-anon
Nathan Cutler [Tue, 6 Feb 2018 12:47:20 +0000 (13:47 +0100)]
Merge pull request #19194 from mdw-at-linuxbox/wip-jewel-rgw-swift-anon

jewel: rgw: fix swift anonymous access

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
7 years agorgw: resharding needs to set back the bucket ACL after link 20039/head
Orit Wasserman [Sun, 21 Jan 2018 10:11:34 +0000 (12:11 +0200)]
rgw: resharding needs to set back the bucket ACL after link

Jewel only fix. New implementation of resharding in Luminous.
Fixes: http://tracker.ceph.com/issues/22703
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #19804 from smithfarm/wip-21691-jewel
Jason Dillaman [Sun, 4 Feb 2018 02:29:12 +0000 (21:29 -0500)]
Merge pull request #19804 from smithfarm/wip-21691-jewel

jewel: tests: rbd_mirror_helpers.sh request_resync_image function saves image id to wrong variable

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agorbd discard return -EINVAL if len > MAX_INT32 20287/head
Huan Zhang [Fri, 24 Jun 2016 03:27:53 +0000 (11:27 +0800)]
rbd discard return -EINVAL if len > MAX_INT32

rbd discard use 'int' to return discarded length, but the 'len' user
passed is 'uint64', in some case, the ret value will be truncated
and return a negative value which means discard failed. ret -EINVAL
if len > MAX_INT32 to indicate support len <= MAX_INT32 only.

Fixes: http://tracker.ceph.com/issues/16465
Signed-off-by: Huan Zhang <zhanghuan@chinac.com>
(cherry picked from commit ec259dfde87ed9bc5e7247f311b629707c636895)

7 years agolibrbd: prevent overflow of discard API result code
Jason Dillaman [Wed, 15 Nov 2017 14:09:15 +0000 (09:09 -0500)]
librbd: prevent overflow of discard API result code

Prevent discard/writesame lengths larger than 2GB.

Fixes: http://tracker.ceph.com/issues/21966
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 3effd324db181e625665be33b5c6529dca723cc5)
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Conflicts:
PendingReleaseNotes (adapted for jewel)
src/librbd/librbd.cc (no writesame in jewel)

7 years agorbd-nbd: fix unused nbd device search bug in container 20286/head
Li Wang [Wed, 1 Nov 2017 09:21:29 +0000 (09:21 +0000)]
rbd-nbd: fix unused nbd device search bug in container

In some container scenarios, the host may choose to
map a specific nbd device, for example, /dev/nbd6 into the
container, in that case, the nbd device available in the
container is not numbered from 0. The current unused
nbd device search function will return no result.
This patch fixes it.

Fixes: http://tracker.ceph.com/issues/22012
Signed-off-by: Li Wang <laurence.liwang@gmail.com>
Reviewed-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
(cherry picked from commit be0f9581f9727187ca03232e0b368e7da7a60609)

7 years agorbd-nbd: only try to load nbd module once when open nbd device, during do_map operation.
Pan Liu [Sat, 11 Mar 2017 13:50:00 +0000 (21:50 +0800)]
rbd-nbd: only try to load nbd module once when open nbd device, during do_map operation.

Signed-off-by: Pan Liu <liupan1111@gmail.com>
(cherry picked from commit 37aa18858b38cee61e122adc0a1834ca797ea84f)

7 years agocls/journal: ensure tags are properly expired 20282/head
Jason Dillaman [Fri, 27 Oct 2017 20:45:54 +0000 (16:45 -0400)]
cls/journal: ensure tags are properly expired

Previously, if only the local image was using the journal or if
a disconnected peer was attached, the tag entries could not be
expired even if unreferenced.

Fixes: http://tracker.ceph.com/issues/21960
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 19fa1c7f5b2809e9a223b7b196dfc031e97a5dcd)

Conflicts:
src/cls/journal/cls_journal.cc (jewel does not have d3de6f5e07cb30d81ce8cc539256c6cf754b28d5)

7 years agorbd: support iterating over metadata items when listing 20281/head
Jason Dillaman [Wed, 6 Sep 2017 20:14:58 +0000 (16:14 -0400)]
rbd: support iterating over metadata items when listing

Fixes: http://tracker.ceph.com/issues/21179
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 9c4f9856b034061aed052192b0ee09b9a9d09bc0)

7 years agolibrbd: rename of non-existent image results in seg fault 20280/head
Jason Dillaman [Tue, 5 Sep 2017 16:11:45 +0000 (12:11 -0400)]
librbd: rename of non-existent image results in seg fault

Fixes: http://tracker.ceph.com/issues/21248
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 4a75ee43d3b108a9593a010160479fd62884eda8)

Conflicts:
        src/librbd/internal.cc (retain redundant "delete ictx" that has been
            dropped in master)

7 years agoMerge pull request #20070 from smithfarm/wip-22771-jewel
David Zafman [Sat, 3 Feb 2018 00:44:42 +0000 (16:44 -0800)]
Merge pull request #20070 from smithfarm/wip-22771-jewel

jewel: tools: ceph-objectstore-tool set-size should clear data-digest

Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agoMerge pull request #19469 from linuxbox2/jewel-22410
Nathan Cutler [Fri, 2 Feb 2018 21:20:33 +0000 (22:20 +0100)]
Merge pull request #19469 from linuxbox2/jewel-22410

jewel: rgw: fix chained cache invalidation to prevent cache size growth

Reviewed-by: Mark Kogan <mkogan@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #19747 from linuxbox2/jewel-rgw-21984
Nathan Cutler [Fri, 2 Feb 2018 21:17:55 +0000 (22:17 +0100)]
Merge pull request #19747 from linuxbox2/jewel-rgw-21984

jewel: rgw: fix doubled underscore with s3/swift server-side copy

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Marcus Watts <mwatts@redhat.com>
7 years agoMerge pull request #19769 from linuxbox2/jewel-rgw-22517
Nathan Cutler [Fri, 2 Feb 2018 21:15:21 +0000 (22:15 +0100)]
Merge pull request #19769 from linuxbox2/jewel-rgw-22517

jewel: rgw: resolve Random 500 errors in Swift PutObject (22517)

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18303 from smithfarm/wip-21632-jewel
Nathan Cutler [Thu, 1 Feb 2018 23:18:49 +0000 (00:18 +0100)]
Merge pull request #18303 from smithfarm/wip-21632-jewel

jewel: doc: remove region from INSTALL CEPH OBJECT GATEWAY

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agorgw: use bucket marker for multipart complete oid 18116/head
Casey Bodley [Tue, 12 Dec 2017 19:12:00 +0000 (14:12 -0500)]
rgw: use bucket marker for multipart complete oid

the use of bucket_id breaks multipart uploads if the bucket has been
resharded, because InitMultipart uses the old bucket_id and Complete
uses the new

Fixes: http://tracker.ceph.com/issues/22368
(this fixes a previous backport, so has no associated commit from master)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0dd77b24819323808860c6fb98a0bc2f9f27e26f)

7 years agorgw: release cls lock if taken in RGWCompleteMultipart
Matt Benjamin [Tue, 3 Oct 2017 21:48:29 +0000 (17:48 -0400)]
rgw: release cls lock if taken in RGWCompleteMultipart

Follows Casey's proposal to conditionally release the lock in
::complete(), in order to avoid duplicated code in various early
return cases.

Fixes: http://tracker.ceph.com/issues/21596
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 704f793f08a02760d23eb5778b738bb07be0e7cf)

7 years agoRGW: Fix duplicate tag removal during GC 16708/head
Jens Rosenboom [Mon, 26 Jun 2017 11:14:06 +0000 (11:14 +0000)]
RGW: Fix duplicate tag removal during GC

We need to remove all processed tags before we fetch a new batch of tags
for removal, otherwise some tags might get processed twice.

Fixes: http://tracker.ceph.com/issues/20107
Signed-off-by: Jens Rosenboom <j.rosenboom@x-ion.de>
(cherry picked from commit 8eeee2b78d6f4176fb20c2b1499e3237ee229bf4)

7 years agoMerge pull request #18951 from dzafman/wip-21440
David Zafman [Fri, 26 Jan 2018 22:50:27 +0000 (14:50 -0800)]
Merge pull request #18951 from dzafman/wip-21440

Jewel: Performance: Only scan for omap corruption once

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #18690 from dzafman/wip-1508935
David Zafman [Fri, 26 Jan 2018 15:56:00 +0000 (07:56 -0800)]
Merge pull request #18690 from dzafman/wip-1508935

jewel: osd: recover_replicas: object added to missing set for backfill, but is not in recovering, error!

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18925 from ivancich/jewel-backport-18821
Nathan Cutler [Tue, 23 Jan 2018 14:36:21 +0000 (15:36 +0100)]
Merge pull request #18925 from ivancich/jewel-backport-18821

jewel: rgw: Fix swift object expiry not deleting objects

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agorgw: RGWUser::init no longer overwrites user_id 20074/head
Casey Bodley [Thu, 5 Oct 2017 20:39:30 +0000 (16:39 -0400)]
rgw: RGWUser::init no longer overwrites user_id

if an admin op specifies a user_id and does not find a user with that
id, but does find a user based on a later field (email, access key,
etc), RGWUser::user_id will be overwritten with the existing user's id

when this happens on 'radosgw-admin user create', RGWUser::execute_add()
will modify that existing user, instead of trying to create a new user
with the given user_id (and failing due to the conflicting email,
access key, etc)

by preserving the original user_id (when specified), this uid conflict
is detected in RGWUser::check_op() and a "user id mismatch" error is
returned

Fixes: http://tracker.ceph.com/issues/21685
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4e65c9e9af86e832cb96d57d487771aa28251e7c)

7 years agoceph-objectstore-tool: Fix set-size to clear data_digest if changing disk size 20070/head
David Zafman [Fri, 10 Nov 2017 00:11:14 +0000 (16:11 -0800)]
ceph-objectstore-tool: Fix set-size to clear data_digest if changing disk size

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

Conflicts:
    src/tools/ceph_objectstore_tool.cc (in jewel, ::encode() takes only two
        arguments, while in luminous/master it takes a third which we omit
        here)

7 years agotest: Add undocumented corrupt-size for testing
David Zafman [Fri, 30 Jun 2017 00:13:50 +0000 (17:13 -0700)]
test: Add undocumented corrupt-size for testing

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

7 years agomds: handle 'inode gets queued for recovery multiple times' 20067/head
Yan, Zheng [Wed, 10 Jan 2018 05:04:55 +0000 (13:04 +0800)]
mds: handle 'inode gets queued for recovery multiple times'

Fixes: http://tracker.ceph.com/issues/22647
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 06bbf939ac7af9969765d50fad275c24b204a188)

7 years agomds: use elist to track recover queue items
Yan, Zheng [Wed, 10 Jan 2018 03:52:35 +0000 (11:52 +0800)]
mds: use elist to track recover queue items

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 74f2a87887e81dc1d5895976982efb51b0a5e97e)

Conflicts:
src/mds/CInode.cc (preceding dout has __func__ in master)

7 years agorgw_file: alternate fix deadlock on lru eviction 20057/head
Matt Benjamin [Fri, 19 Jan 2018 18:05:27 +0000 (13:05 -0500)]
rgw_file: alternate fix deadlock on lru eviction

This change is an alternate fix for two problems found and fixed
by Yao Zongyou <yaozongyou@vip.qq.com>.

The deadlock can be avoided just by not taking it in the recycle
case, which invariantly holds the lock.

The invalidation of the insert iterator by the recyle-path unlink
we'd like to handle as a condition in order to preserve the cached
insertion point optimization we get in the common case.  (The
original behavior was, indeed, incorrect.)

Based on feedback from Yao, removed the RGWFileHandle dtor version
of the unlink check, which I think happened twice.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 3cf0880f86b8f7911139c4e3d672cf47420c8f49)

7 years agoclient: fix cap revoke race 19975/head
Yan, Zheng [Thu, 11 Jan 2018 09:50:22 +0000 (17:50 +0800)]
client: fix cap revoke race

If caps are been revoking by the auth MDS, don't consider them as
issued even they are still issued by non-auth MDS. The non-auth
MDS should also be revoking/exporting these caps, the client just
hasn't received the cap revoke/export message.

The race I encountered is: When caps are exporting to new MDS, the
client receives cap import message and cap revoke message from the
new MDS, then receives cap export message from the old MDS. When
the client receives cap revoke message from the new MDS, the revoking
caps are still issued by the old MDS, so the client does nothing.
Later when the cap export message is received, the client removes
the caps issued by the old MDS. (Another way to fix the race is
calling ceph_check_caps() in handle_cap_export())

copid from kernel commit b1530f57

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 99d8c303ce689b7348a6ce923721cbd140775e1b)

Conflicts:
src/client/Inode.cc: Resolved for loop conflict in << operator
                             and caps_issued func

7 years agoclient: release revoking Fc after invalidate cache
Yan, Zheng [Thu, 11 Jan 2018 08:22:12 +0000 (16:22 +0800)]
client: release revoking Fc after invalidate cache

this issue is likely revealed by commit 7bc1fa04
"client: avoid adding checked inode to the delayed_caps"

Fixes: http://tracker.ceph.com/issues/22652
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit e05f14319a69224077b3aec52be6c2964eb40731)

7 years agorgw: dont log EBUSY errors in 'sync error list' 19908/head
Casey Bodley [Mon, 18 Dec 2017 16:42:21 +0000 (11:42 -0500)]
rgw: dont log EBUSY errors in 'sync error list'

these temporary errors get retried automatically, so no admin
intervention is required. logging them only serves to waste space in
omap and obscure the more serious sync errors

Fixes: http://tracker.ceph.com/issues/22473
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit ca4510bc76ad7beed1128539aa9e424d29dd8585)

Conflicts:
src/rgw/rgw_data_sync.cc: Resolved conflicts for sync_status
  check and logging

7 years agoceph.in: pass RADOS inst to LibCephFS 19907/head
Patrick Donnelly [Tue, 31 Oct 2017 18:55:29 +0000 (11:55 -0700)]
ceph.in: pass RADOS inst to LibCephFS

This avoids multiple instances of the admin socket and other redundancies.

Fixes: http://tracker.ceph.com/issues/21967
Fixes: http://tracker.ceph.com/issues/21406
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 76a950b2ec473741ed3cffca5c198e8c56f32a1c)

7 years agorgw: Fix swift object expiry not deleting objects 18925/head
Pavan Rallabhandi [Wed, 8 Nov 2017 16:05:54 +0000 (21:35 +0530)]
rgw: Fix swift object expiry not deleting objects

In cls_timeindex_list() though `to_index` has expired for a timespan, the marker is set for a subsequent index during the time boundary check.
This marker is further returned to RGWObjectExpirer::process_single_shard(), where this out_marker is trimmed from the respective shard,
resulting in a lost removal hint and a leaked object.

Fixes: http://tracker.ceph.com/issues/22084
Signed-off-by: Pavan Rallabhandi <PRallabhandi@walmartlabs.com>
(cherry picked from commit 70adfaae5073d2680a9722526a6a19795dd18780)

7 years agolibrbd: filter out potential race with image rename 19855/head
Jason Dillaman [Wed, 20 Dec 2017 21:55:06 +0000 (16:55 -0500)]
librbd: filter out potential race with image rename

Fixes: http://tracker.ceph.com/issues/18435
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 001d2fc35c170f17e706aeae541fb86dac960319)

7 years agoMerge pull request #19840 from joscollin/wip-jewel-backport-22569-2
Jos Collin [Mon, 8 Jan 2018 14:16:46 +0000 (14:16 +0000)]
Merge pull request #19840 from joscollin/wip-jewel-backport-22569-2

jewel: doc: clarify Path Restriction instructions

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agodoc: hyperlink fix 19840/head
Drunkard Zhang [Wed, 1 Mar 2017 01:51:01 +0000 (09:51 +0800)]
doc: hyperlink fix

Signed-off-by: Drunkard Zhang <gongfan193@gmail.com>
(cherry picked from commit f763bacab3ea66ab13b4d62ad883c365a8e0a604)

7 years agoMerge pull request #19795 from joscollin/wip-jewel-backport-22569
Jos Collin [Mon, 8 Jan 2018 04:21:32 +0000 (04:21 +0000)]
Merge pull request #19795 from joscollin/wip-jewel-backport-22569

jewel: doc: clarify Path Restriction instructions

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agodoc/mds: add generated files into the /etc/ceph/ 19795/head
huanwen ren [Thu, 4 Aug 2016 11:50:18 +0000 (19:50 +0800)]
doc/mds: add generated files into the /etc/ceph/

Fixes: 16906
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
(cherry picked from commit d1277f116cd297bae8da7b3e1a7000d3f99c6a51)

7 years agoqa/workunits/rbd: fixed variable name for resync image id 19804/head
Jason Dillaman [Tue, 3 Oct 2017 17:25:33 +0000 (13:25 -0400)]
qa/workunits/rbd: fixed variable name for resync image id

Fixes: http://tracker.ceph.com/issues/21663
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 22816ed3f48b0a08a6d4e0cf0b0e14dabbb9ce69)

7 years agolibrbd: hold cache_lock while clearing cache nonexistence flags 19801/head
Jason Dillaman [Wed, 27 Sep 2017 13:40:08 +0000 (09:40 -0400)]
librbd: hold cache_lock while clearing cache nonexistence flags

When transitioning from a snapshot that had an associated parent
to a snapshot where the parent was flattened and removed, the cache
was being referenced without holding the required lock.

Fixes: http://tracker.ceph.com/issues/21558
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 16ef97830cde30efb96f7aee69834b3a5c2d5248)

7 years agorgw: data sync: set num_shards when building full maps 19783/head
Abhishek Lekshmanan [Thu, 9 Nov 2017 14:50:56 +0000 (15:50 +0100)]
rgw: data sync: set num_shards when building full maps

When radosgw-admin data sync init is called on a cluster, the next run
of rgw crashes as when it processes ListBucketIndexesCR, num_shards
isn't set which is later referenced in ListBucketIndexesCR. Setting the
n sync_info.num_shards correctly to handle this case

Fixes: http://tracker.ceph.com/issues/22083
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 4015a57c473d896164b0617be93777d0947a9576)

Conflicts:
src/rgw/rgw_data_sync.cc

7 years agorgw: set num_shards on 'radosgw-admin data sync init'
Casey Bodley [Fri, 10 Nov 2017 19:27:59 +0000 (14:27 -0500)]
rgw: set num_shards on 'radosgw-admin data sync init'

Fixes: http://tracker.ceph.com/issues/22083
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 90e860c25b87670810426e94b04b515af1e4f154)

7 years agorgw: Plumb refresh logic into object cache 19769/head
Adam C. Emerson [Wed, 20 Dec 2017 22:06:32 +0000 (17:06 -0500)]
rgw: Plumb refresh logic into object cache

Now when we force a refetch of bucket info it will actually go to the
OSD rather than simply using the objects in the object cache.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit d997f657750faf920170843e62deacab70008d8b)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Add expiration in the object cache
Adam C. Emerson [Tue, 19 Dec 2017 21:47:09 +0000 (16:47 -0500)]
rgw: Add expiration in the object cache

We had it in the chained caches, but it doesn't do much good if
they just fetch objects out of the object cache.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 82a7e6ca31b416a7f0e41b5fda4c403d1d6be947)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: retry CORS put/delete operations on ECANCELLED
Adam C. Emerson [Tue, 19 Dec 2017 17:53:05 +0000 (12:53 -0500)]
rgw: retry CORS put/delete operations on ECANCELLED

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit bff7e61ca5a66b301ec49c1cf9054d1b74535832)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Expire entries in bucket info cache
Adam C. Emerson [Fri, 17 Nov 2017 22:15:26 +0000 (17:15 -0500)]
rgw: Expire entries in bucket info cache

To bound the degree to which an RGW instance can go out to lunch if
the watch/notify breaks down, force refresh of any cache entry over a
certain age.

Fifteen minutes by default, and expiration can be turned off entirely.

This is separate from the LRU. The LRU removes entries based on the
last time of access. This expiration patch forces refresh based on the
last time they were updated.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 4489cb58a15647a31ac0546d70400af5668404cb)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWDeleteBucketWebsite
Adam C. Emerson [Fri, 17 Nov 2017 21:05:06 +0000 (16:05 -0500)]
rgw: Handle stale bucket info in RGWDeleteBucketWebsite

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit f4d274248e43cb38ff2b27782c010b2c35b12b2b)

7 years agorgw: Handle stale bucket info in RGWSetBucketWebsite
Adam C. Emerson [Fri, 17 Nov 2017 21:03:13 +0000 (16:03 -0500)]
rgw: Handle stale bucket info in RGWSetBucketWebsite

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit b2b7385f194def1025a8947bab876c9856b06400)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWSetBucketVersioning
Adam C. Emerson [Fri, 17 Nov 2017 20:59:44 +0000 (15:59 -0500)]
rgw: Handle stale bucket info in RGWSetBucketVersioning

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit a0a1e7c2ef992b8758bcfb20d893730c1b202475)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWPutMetadataBucket
Adam C. Emerson [Fri, 17 Nov 2017 20:53:05 +0000 (15:53 -0500)]
rgw: Handle stale bucket info in RGWPutMetadataBucket

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit ebb86301b20098e15824f469001f6153b27965f5)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Add retry_raced_bucket_write
Adam C. Emerson [Fri, 17 Nov 2017 20:51:42 +0000 (15:51 -0500)]
rgw: Add retry_raced_bucket_write

If the OSD informs us that our bucket info is out of date when we need
to write, we should have a way to update it.

This template function allows us to wrap relevant sections of code so
they'll be retried against new bucket info on -ECANCELED.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 1a3fcc70c0747791aa423cd0aa7d2596eaf3d73c)

7 years agorgw: Add try_refresh_bucket_info function
Adam C. Emerson [Thu, 16 Nov 2017 19:42:58 +0000 (14:42 -0500)]
rgw: Add try_refresh_bucket_info function

Sometimes operations fail with -ECANCELED. This means we got raced. If
this happens we should update our bucket info from cache and try again.

Some user reports suggest that our cache may be getting and staying
out of sync. This is a bug and should be fixed, but it would also be
nice if we were robust enough to notice the problem and refresh.

So in that case, we invalidate the cache and fetch direct from the
OSD, putting a warning in the log.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 9114e5e50995f0c7d2be5c24aa4712d89cd89f48)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoradosgw: fix doubled underscore with s3/swift server-side copy 19747/head
Marcus Watts [Tue, 2 Jan 2018 22:24:38 +0000 (17:24 -0500)]
radosgw: fix doubled underscore with s3/swift server-side copy

A name is almost an oid.  Except that if a name starts
with a _, the corresponding oid starts with a double _.
The copy logic passes the oid straight in as a name,
which results in a triple _ on the oid, resulting in
an object name with a double __.

Fix: remove one _ when converting an oid back into
a name, so that the final oid only has a double _.

Fixes: http://tracker.ceph.com/issues/22529
This change is not needed on master or Luminous, due to
already-merged #18662.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #19656 from tchaikov/wip-install-deps-jewel
Nathan Cutler [Fri, 29 Dec 2017 17:27:12 +0000 (18:27 +0100)]
Merge pull request #19656 from tchaikov/wip-install-deps-jewel

jewel: install-deps.sh: update g++ symlink also

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #19603 from ceph/wip-jewel-ansible-branch
Sage Weil [Fri, 29 Dec 2017 16:44:20 +0000 (10:44 -0600)]
Merge pull request #19603 from ceph/wip-jewel-ansible-branch

qa/tests: use 'stable-2.1' branch for jewel testing

7 years agoinstall-deps.sh: update g++ symlink also 19656/head
Kefu Chai [Fri, 22 Dec 2017 14:42:16 +0000 (22:42 +0800)]
install-deps.sh: update g++ symlink also

we need to update g++ symlink also, if it points to the wrong version

http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
Conflicts: the libboost issue does not affect master. as master builds
     boost from source. so, it's not cherry-picked from master.

7 years agorbd-mirror: cluster watcher should ensure it has latest OSD map 19644/head
Jason Dillaman [Fri, 15 Dec 2017 19:51:46 +0000 (14:51 -0500)]
rbd-mirror: cluster watcher should ensure it has latest OSD map

Fixes: http://tracker.ceph.com/issues/22461
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 9eb247961ae8bfe63c4025032ad532b7c3e3a1e7)

7 years agoqa/tests: use 'stable-2.1' branch for jewel testing 19603/head
Vasu Kulkarni [Tue, 19 Dec 2017 21:04:56 +0000 (13:04 -0800)]
qa/tests: use 'stable-2.1' branch for jewel testing

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
7 years agoMerge pull request #19521 from tchaikov/wip-22220-jewel
Kefu Chai [Fri, 15 Dec 2017 06:02:15 +0000 (14:02 +0800)]
Merge pull request #19521 from tchaikov/wip-22220-jewel

jewel: install-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc

Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoinstall-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc 19521/head
Kefu Chai [Thu, 14 Dec 2017 13:01:43 +0000 (21:01 +0800)]
install-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc

See: http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #19461 from tchaikov/wip-22220-jewel
Kefu Chai [Thu, 14 Dec 2017 12:28:45 +0000 (20:28 +0800)]
Merge pull request #19461 from tchaikov/wip-22220-jewel

jewel: install-deps.sh: point gcc to the one shipped by distro

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoinstall-deps.sh: point gcc to the one shipped by distro 19461/head
Kefu Chai [Wed, 13 Dec 2017 05:36:54 +0000 (13:36 +0800)]
install-deps.sh: point gcc to the one shipped by distro

to define a struct in a method is legal in C++11, but it causes internal
compiler error due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82155
if we are using GCC-7. so we need to either workaround in our source
code by moving the struct definition out of the member method or revert
to a GCC without this bug. but if we go with the first route, the jewel
build still fails, because GCC-7 starts to use the new CXX11 ABI, which
is not compatible with the libboost we use in jewel. the libboost was
still built with the old ABI for backward compatibility. so let's just
fix the install-deps.sh to point gcc to the origin one.

See: http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
Conflicts: the libboost issue does not affect master. as master builds
 boost from source. so, it's not cherry-picked from master.

7 years agorgw: fix chained cache invalidation to prevent cache size growth 19469/head
Mark Kogan [Tue, 12 Dec 2017 15:34:05 +0000 (10:34 -0500)]
rgw: fix chained cache invalidation to prevent cache size growth
above the rgw_cache_lru_size limit

Fixes: http://tracker.ceph.com/issues/22410
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit a6a1b664d313a54ad9d2f64b859296b1352b1ce4)

7 years agoMerge pull request #19214 from liewegas/wip-no-ec-upgrade-test
Sage Weil [Tue, 28 Nov 2017 16:28:38 +0000 (10:28 -0600)]
Merge pull request #19214 from liewegas/wip-no-ec-upgrade-test

qa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping

7 years agoqa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping 19214/head
Sage Weil [Tue, 28 Nov 2017 16:21:59 +0000 (10:21 -0600)]
qa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoradosgw: fix swift anonymous access. 19194/head
Marcus Watts [Sun, 26 Nov 2017 23:43:23 +0000 (18:43 -0500)]
radosgw: fix swift anonymous access.

With swift: when accessing a bucket anonymously (no credentials),
must set the bucket tenant appropriately in order to access the container.

Fixes: http://tracker.ceph.com/issues/22259
Signed-off-by: Marcus Watts <mwatts@redhat.com>
7 years agoMerge pull request #19176 from liewegas/wip-no-ec-upgrade-test
Sage Weil [Mon, 27 Nov 2017 16:30:07 +0000 (10:30 -0600)]
Merge pull request #19176 from liewegas/wip-no-ec-upgrade-test

qa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests

7 years agoqa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests 19176/head
Sage Weil [Mon, 27 Nov 2017 16:24:47 +0000 (10:24 -0600)]
qa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests

This is needed for jewel-x point to point upgrade because earlier point
releases can't handle our ec profiles with ruleset-* (later ones can) and
the test races with the mon upgrades.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agorbd: disk usage on empty pool no longer returns an error message 19186/head
Jason Dillaman [Mon, 20 Nov 2017 16:03:17 +0000 (11:03 -0500)]
rbd: disk usage on empty pool no longer returns an error message

Fixes: http://tracker.ceph.com/issues/22200
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f4528122d66d1bc7dd07a64d1af7b65fe53f7b0b)