]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agoMerge pull request #11606 from dzafman/wip-17666
Loic Dachary [Mon, 14 Nov 2016 13:04:48 +0000 (14:04 +0100)]
Merge pull request #11606 from dzafman/wip-17666

jewel: osd: Remove extra call to reg_next_scrub() during splits

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #10865 from dachary/wip-17057-jewel
Loic Dachary [Fri, 11 Nov 2016 20:33:39 +0000 (21:33 +0100)]
Merge pull request #10865 from dachary/wip-17057-jewel

jewel: The request lock RPC message might be incorrectly ignored

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
8 years agoMerge pull request #11854 from dachary/wip-17712-jewel
Loic Dachary [Fri, 11 Nov 2016 15:39:45 +0000 (16:39 +0100)]
Merge pull request #11854 from dachary/wip-17712-jewel

jewel: 'rbd du' of missing image does not return error

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #11870 from dachary/wip-17844-jewel
Loic Dachary [Fri, 11 Nov 2016 15:39:19 +0000 (16:39 +0100)]
Merge pull request #11870 from dachary/wip-17844-jewel

jewel: rbd-nbd: disallow mapping images >2TB in size

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #11869 from dachary/wip-17845-jewel
Loic Dachary [Fri, 11 Nov 2016 15:38:08 +0000 (16:38 +0100)]
Merge pull request #11869 from dachary/wip-17845-jewel

jewel: rbd-mirror: snap protect of non-layered image results in split-brain

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #11574 from gaurav36/jewel-backport-period-prepare-command
Loic Dachary [Fri, 11 Nov 2016 15:32:20 +0000 (16:32 +0100)]
Merge pull request #11574 from gaurav36/jewel-backport-period-prepare-command

jewel: rgw multisite: obsolete 'radosgw-admin period prepare' command

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11864 from dachary/wip-17733-jewel
Loic Dachary [Fri, 11 Nov 2016 15:31:21 +0000 (16:31 +0100)]
Merge pull request #11864 from dachary/wip-17733-jewel

jewel: multisite: after finishing full sync on a bucket, incremental sync starts over from the beginning

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11675 from asheplyakov/jewel-17674
Loic Dachary [Fri, 11 Nov 2016 15:30:55 +0000 (16:30 +0100)]
Merge pull request #11675 from asheplyakov/jewel-17674

jewel: rgw: fix put_acls for objects starting and ending with underscore

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11852 from dachary/wip-17766-jewel
Loic Dachary [Fri, 11 Nov 2016 15:26:14 +0000 (16:26 +0100)]
Merge pull request #11852 from dachary/wip-17766-jewel

jewel: Exclusive lock improperly initialized on read-only image when using snap_set API

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agoMerge pull request #11853 from dachary/wip-17763-jewel
Loic Dachary [Fri, 11 Nov 2016 15:25:55 +0000 (16:25 +0100)]
Merge pull request #11853 from dachary/wip-17763-jewel

jewel: TestLibRBD.DiscardAfterWrite doesn't handle rbd_skip_partial_discard = true

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agoMerge pull request #11760 from Abhishekvrshny/wip-17769-jewel
Orit Wasserman [Fri, 11 Nov 2016 11:43:19 +0000 (12:43 +0100)]
Merge pull request #11760 from Abhishekvrshny/wip-17769-jewel

jewel: disable virtual hosting of buckets when no hostnames are configured
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
8 years agoMerge pull request #11867 from dachary/wip-17675-jewel
Orit Wasserman [Fri, 11 Nov 2016 11:37:39 +0000 (12:37 +0100)]
Merge pull request #11867 from dachary/wip-17675-jewel

jewel: RGWRados::get_system_obj() sends unnecessary stat request before read
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
8 years agoMerge pull request #11863 from dachary/wip-17735-jewel
Orit Wasserman [Fri, 11 Nov 2016 11:36:31 +0000 (12:36 +0100)]
Merge pull request #11863 from dachary/wip-17735-jewel

jewel: RGW will not list Argonaut-era bucket via HTTP (but radosgw-admin works)
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
8 years agoMerge pull request #11627 from cbodley/wip-17343
Loic Dachary [Fri, 11 Nov 2016 11:23:46 +0000 (12:23 +0100)]
Merge pull request #11627 from cbodley/wip-17343

jewel: rgw: work around curl_multi_wait bug with non-blocking reads

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agorgw: add missing mutex header for std::once_flag 11627/head
Casey Bodley [Wed, 9 Nov 2016 19:27:11 +0000 (14:27 -0500)]
rgw: add missing mutex header for std::once_flag

this fix was added directly to the jewel branch rather than backporting
from master, because the code on master compiles without this specific
include - it's likely included by another header, but backporting would
involve pulling in unrelated changes

Signed-off-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11822 from SUSE/wip-17816-jewel
Loic Dachary [Wed, 9 Nov 2016 19:53:18 +0000 (20:53 +0100)]
Merge pull request #11822 from SUSE/wip-17816-jewel

jewel: Missing comma in ceph-create-keys causes concatenation of arguments

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agorgw: remove suggestion to upgrade libcurl
Casey Bodley [Mon, 24 Oct 2016 19:02:39 +0000 (15:02 -0400)]
rgw: remove suggestion to upgrade libcurl

Reported-by: Ken Dreyer <kdreyer@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit dcff120edaabb6fb0ebba73a716e4d42fa10dcd8)

8 years agorgw/rgw_http_client: add compat.h include for TEMP_FAILURE_RETRY
John Coyle [Thu, 16 Jun 2016 01:06:54 +0000 (21:06 -0400)]
rgw/rgw_http_client: add compat.h include for TEMP_FAILURE_RETRY

Signed-off-by: John Coyle <dx9err@gmail.com>
(cherry picked from commit 00f4554aa5511d86ea45aec90c16617c419ca7c3)

8 years agorgw: detect and work around a curl_multi_wait bug
Casey Bodley [Fri, 9 Sep 2016 20:46:54 +0000 (16:46 -0400)]
rgw: detect and work around a curl_multi_wait bug

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

8 years agorgw: use non-blocking reads for clear_signal
Casey Bodley [Fri, 9 Sep 2016 20:01:16 +0000 (16:01 -0400)]
rgw: use non-blocking reads for clear_signal

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

8 years agorgw: factored clear_signal out of do_curl_wait
Casey Bodley [Fri, 9 Sep 2016 19:58:50 +0000 (15:58 -0400)]
rgw: factored clear_signal out of do_curl_wait

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

8 years agorgw: do_curl_wait uses ldout
Casey Bodley [Fri, 9 Sep 2016 19:58:21 +0000 (15:58 -0400)]
rgw: do_curl_wait uses ldout

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

8 years agorgw: add pipe fd to set for select() in do_curl_wait()
Casey Bodley [Fri, 17 Jun 2016 02:51:54 +0000 (22:51 -0400)]
rgw: add pipe fd to set for select() in do_curl_wait()

when HAVE_CURL_MULTI_WAIT is 0, the pipe fd is never added to the
readfds for select(), so FD_ISSET() is always false. this prevents us
from ever trying to read from the fd, and the pipe's buffer eventually
fills up and deadlocks callers of RGWHTTPManager::signal_thread() when
they try to write to the pipe

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

8 years agorgw: clean up thread_pipe in RGWHTTPManager::stop
Casey Bodley [Fri, 13 May 2016 17:03:18 +0000 (13:03 -0400)]
rgw: clean up thread_pipe in RGWHTTPManager::stop

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

8 years agorgw: create thread_pipe before RGWHTTPManager::ReqsThread
Casey Bodley [Fri, 13 May 2016 17:01:38 +0000 (13:01 -0400)]
rgw: create thread_pipe before RGWHTTPManager::ReqsThread

closes a potential race between pipe creation and
RGWHTTPManager::reqs_thread_entry()'s access of thread_pipe

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

8 years agorbd-nbd: disallow mapping images >2TB in size 11870/head
Mykola Golub [Wed, 2 Nov 2016 08:49:23 +0000 (10:49 +0200)]
rbd-nbd: disallow mapping images >2TB in size

Fixes: http://tracker.ceph.com/issues/17219
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 2012b4dfc65414751e3da8386a3a14da8b7c1249)

8 years agorbd-mirror: snap protect of non-layered image results in split-brain 11869/head
Mykola Golub [Wed, 2 Nov 2016 10:43:45 +0000 (12:43 +0200)]
rbd-mirror: snap protect of non-layered image results in split-brain

Fixes: http://tracker.ceph.com/issues/16962
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 8e1cc88e068fe57e9bbfa1ebbc6bbf89fb62aaac)

8 years agorgw: get_system_obj does not use result of get_system_obj_state 11867/head
Casey Bodley [Wed, 12 Oct 2016 12:55:52 +0000 (08:55 -0400)]
rgw: get_system_obj does not use result of get_system_obj_state

get_system_obj() calls get_system_obj_state() to send a [getxattrs,stat]
request and fill out an RGWObjState - but the results are not used

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

8 years agorgw: fix for passing temporary in InitBucketSyncStatus 11864/head
Casey Bodley [Fri, 21 Oct 2016 02:59:35 +0000 (22:59 -0400)]
rgw: fix for passing temporary in InitBucketSyncStatus

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

8 years agorgw multisite: fix the increamtal bucket sync init
Zengran Zhang [Wed, 19 Oct 2016 09:05:27 +0000 (17:05 +0800)]
rgw multisite: fix the increamtal bucket sync init

in the `RGWBucketShardFullSyncCR::operate`, inc_marker will assigned with remote bilog's max_marker.
but the sync_status's inc_marker cant be assigned.so the next step inc sync will always sync
from null log,which means at beginning log.

Fixes: http://tracker.ceph.com/issues/17624
Signed-off-by: Zengran Zhang <zhangzengran@h3c.com>
(cherry picked from commit 0d928c26408f2fa0b276304c4c00e9c41e0777fa)

8 years agorgw: get_zonegroup() uses "default" zonegroup if empty 11863/head
Yehuda Sadeh [Thu, 22 Sep 2016 23:03:15 +0000 (16:03 -0700)]
rgw: get_zonegroup() uses "default" zonegroup if empty

Fixes: http://tracker.ceph.com/issues/17372
An empty zonegroup should be replaced with the "default" zonegroup.
This is needed when dealing with zonegroup set in old bucket info,
that predated setting the buckets' region.

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

8 years agorbd: return error if we specified a wrong image name for rbd du 11854/head
Dongsheng Yang [Fri, 9 Sep 2016 08:53:25 +0000 (04:53 -0400)]
rbd: return error if we specified a wrong image name for rbd du

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
(cherry picked from commit ce4c801cfc114f718ca51c32b657fec638ca9aaf)

8 years agotest: skip TestLibRBD.DiscardAfterWrite if skip partial discard enabled 11853/head
Jason Dillaman [Mon, 31 Oct 2016 15:08:55 +0000 (11:08 -0400)]
test: skip TestLibRBD.DiscardAfterWrite if skip partial discard enabled

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

8 years agolibrbd: exclusive lock incorrectly initialized when switching to HEAD 11852/head
Jason Dillaman [Wed, 19 Oct 2016 16:03:37 +0000 (12:03 -0400)]
librbd: exclusive lock incorrectly initialized when switching to HEAD

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

8 years agolibrbd: always respond to "release lock" request if lock owner 10865/head
Jason Dillaman [Mon, 15 Aug 2016 21:15:48 +0000 (17:15 -0400)]
librbd: always respond to "release lock" request if lock owner

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

8 years agoceph-create-keys: add missing argument comma 11822/head
Patrick Donnelly [Sun, 18 Sep 2016 20:26:29 +0000 (16:26 -0400)]
ceph-create-keys: add missing argument comma

The arguments "get" and "client.admin" were being concatenated into
"getclient.admin".

Found using ceph-ansible + strace:

    13031 execve("/usr/bin/ceph", ["ceph", "--cluster=ceph", "--name=mon.", "--keyring=/var/lib/ceph/mon/ceph-ceph-mon0/keyring", "auth", "getclient.admin"], ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin", "LANG=en_US.UTF-8", "CLUSTER=ceph", "TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728", "CEPH_AUTO_RESTART_ON_UPGRADE=no"] <unfinished ...>

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 482022233d845b75876b04ca23fb137281a9f6ab)

8 years agoMerge pull request #11679 from dachary/wip-17734-jewel
Loic Dachary [Mon, 7 Nov 2016 13:39:48 +0000 (14:39 +0100)]
Merge pull request #11679 from dachary/wip-17734-jewel

jewel: Upgrading 0.94.6 -> 0.94.9 saturating mon node networking

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agomon: expose require_jewel_osds flag to user 11679/head
xie xingguo [Sat, 21 May 2016 06:11:55 +0000 (14:11 +0800)]
mon: expose require_jewel_osds flag to user

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 83ffc2b761742d563777e50959faa6a6010edae0)

8 years agomon/OSDMonitor: encode OSDMap::Incremental with same features as OSDMap
Sage Weil [Fri, 21 Oct 2016 16:25:08 +0000 (12:25 -0400)]
mon/OSDMonitor: encode OSDMap::Incremental with same features as OSDMap

The Incremental encode stashes encode_features, which is
what we use later to reencode the updated OSDMap.  Use
the same features so that the encoding will match!

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

8 years agomon/OSDMonitor: health warn if require_{jewel,kraken} flags aren't set
Sage Weil [Thu, 13 Oct 2016 16:16:40 +0000 (12:16 -0400)]
mon/OSDMonitor: health warn if require_{jewel,kraken} flags aren't set

We want to prompt users to set these flags as soon as their
upgrades complete.

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

Conflicts:
   src/mon/OSDMonitor.cc: remove references to kraken

    if ((osdmap.get_up_osd_features() & CEPH_FEATURE_SERVER_KRAKEN) &&
!osdmap.test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN)) {
      string msg = "all OSDs are running kraken or later but the"
" 'require_kraken_osds' osdmap flag is not set";
      summary.push_back(make_pair(HEALTH_WARN, msg));
      if (detail) {
detail->push_back(make_pair(HEALTH_WARN, msg));
      }
    } else

8 years agomon/OSDMonitor: encode canonical full osdmap based on osdmap flags
Sage Weil [Fri, 30 Sep 2016 22:02:39 +0000 (18:02 -0400)]
mon/OSDMonitor: encode canonical full osdmap based on osdmap flags

If the JEWEL or KRAKEN flags aren't set, encode the full map without
those features.  This ensure that older OSDs in the cluster will be able
to correctly encode the full map with a matching CRC.  At least, that is
true as long as the encoding changes are guarded by those feature bits.
That appears to be true currently, and we plan to ensure that it is true
in the future as well.

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

Conflicts:
   src/mon/OSDMonitor.cc: removed reference to kraken

    if (!tmp.test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN)) {
      dout(10) << __func__ << " encoding without feature SERVER_KRAKEN" << dendl;
      features &= ~CEPH_FEATURE_SERVER_KRAKEN;
    }

8 years agoMerge pull request #11742 from tchaikov/wip-17728-jewel
Loic Dachary [Fri, 4 Nov 2016 14:31:05 +0000 (15:31 +0100)]
Merge pull request #11742 from tchaikov/wip-17728-jewel

jewel: test/ceph_test_msgr: do not use Message::middle for holding transient…

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #11746 from liewegas/wip-post-file-key-jewel
Loic Dachary [Thu, 3 Nov 2016 14:54:28 +0000 (15:54 +0100)]
Merge pull request #11746 from liewegas/wip-post-file-key-jewel

jewel: ceph-post-file: use new ssh key

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
8 years agorgw: add commas to hostname output 11760/head
Casey Bodley [Mon, 3 Oct 2016 18:06:40 +0000 (14:06 -0400)]
rgw: add commas to hostname output

std::accumulate() was appending hostnames without commas or spaces

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

8 years agorgw: filter out empty virtual bucket hostnames
Casey Bodley [Mon, 3 Oct 2016 18:05:08 +0000 (14:05 -0400)]
rgw: filter out empty virtual bucket hostnames

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

8 years agodoc: configuring virtual hosted buckets for radosgw
Casey Bodley [Fri, 30 Sep 2016 19:42:45 +0000 (15:42 -0400)]
doc: configuring virtual hosted buckets for radosgw

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

8 years agorgw: only enable virtual hosting if hostnames are configured
Casey Bodley [Fri, 30 Sep 2016 18:04:32 +0000 (14:04 -0400)]
rgw: only enable virtual hosting if hostnames are configured

if no hostnames are configured, all requests were treated as virtual
hosted buckets. require at least one hostname in hostnames_set to
consider setting in_hosted_domain

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

8 years agorgw: Fix Host->bucket fallback logic inversion
Robin H. Johnson [Thu, 25 Aug 2016 15:04:34 +0000 (08:04 -0700)]
rgw: Fix Host->bucket fallback logic inversion

The logic (added in 46aae19ee) for falling back to just using the hostname as
the possible bucket name contained an accidental inversion, because
RGWHandler_REST::validate_bucket_name returns success as zero.

Backport: jewel
Fixes: http://tracker.ceph.com/issues/17136
Re-Fixes: http://tracker.ceph.com/issues/15975
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
(cherry picked from commit 70e0289644f4a7205e6c2f75a094ece8ab5ed97c)

8 years agoceph-post-file: Ignore keys offered by ssh-agent 11746/head
David Galloway [Fri, 19 Aug 2016 20:11:32 +0000 (16:11 -0400)]
ceph-post-file: Ignore keys offered by ssh-agent

In my case, I had multiple private keys in ssh-agent which resulted in
the sftp connection failing despite explicitly specifying the private
key to use

Signed-off-by: David Galloway <dgallowa@redhat.com>
(cherry picked from commit a61fcb2eac35a149b49efdc9b2ffa675afb968e8)

8 years agoceph-post-file: migrate to RSA SSH keys
Sage Weil [Wed, 2 Nov 2016 13:37:41 +0000 (09:37 -0400)]
ceph-post-file: migrate to RSA SSH keys

DSA keys are being deprecated: http://www.openssh.com/legacy.html

drop.ceph.com will continue to allow the old DSA key but eventually,
users submitting logs using ceph-post-file will run into issues when
OpenSSH completely drops support for the algorithm.

Fixes: http://tracker.ceph.com/issues/14267
Signed-off-by: David Galloway <dgallowa@redhat.com>
(cherry picked from commit ecd02bf3f1c7a07a3271b2736a9e12dd6e897821)

# Conflicts:
# src/CMakeLists.txt

8 years agomsg: adjust byte_throttler from Message::encode 11742/head
Sage Weil [Sun, 23 Oct 2016 23:40:57 +0000 (18:40 -0500)]
msg: adjust byte_throttler from Message::encode

Normally we never call encode on a message that has a byte_throttler set
because we only use it for messages we received.  However, for forwarded
messages that we clear_payload() before resending, we *do* reencode, and in
that case we need to retake the appropriate number of bytes from the
throttler--just like we release them in clear_payload().

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

8 years agomsg/Message: fix set_middle vs throttler
Sage Weil [Sun, 23 Oct 2016 23:10:00 +0000 (18:10 -0500)]
msg/Message: fix set_middle vs throttler

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

8 years agomessages/MForward: reencode forwarded message if target has differing features
Sage Weil [Sat, 22 Oct 2016 18:01:34 +0000 (14:01 -0400)]
messages/MForward: reencode forwarded message if target has differing features

This ensures we reencode the payload with the
appropriate set of features if the client, us, or the
target do not have identical features.  Otherwise we
may forward an encoding with more features than the
target can handle.

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

8 years agomessages/MForward: fix encoding features
Sage Weil [Wed, 28 Sep 2016 15:44:28 +0000 (11:44 -0400)]
messages/MForward: fix encoding features

We were encoding the message with the sending client's
features, which makes no sense: we need to encode with
the recipient's features so that it can decode the
message.

The simplest way to fix this is to rip out the bizarre
msg_bl handling code and simply keep a decoded Message
reference, and encode it when we send.

We encode the encapsulated message with the intersection
of the target mon's features and the sending client's
features.  This probably doesn't matter, but it's
conceivable that there is some feature-dependent
behavior in the message encode/decode that is important.

Fixes: http://tracker.ceph.com/issues/17365
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d4f5e88f36e5388ae9e062c4bc49ac1c684a3f3c)

8 years agoall: add const to operator<< param
Michal Jarzabek [Sat, 4 Jun 2016 22:24:06 +0000 (23:24 +0100)]
all: add const to operator<< param

Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
(cherry picked from commit 0a157e088b2e5eb66177421f19f559ca427240eb)

8 years agotest/ceph_test_msgr: do not use Message::middle for holding transient data
Kefu Chai [Fri, 28 Oct 2016 17:54:58 +0000 (01:54 +0800)]
test/ceph_test_msgr: do not use Message::middle for holding transient data

Message::middle is used for holding encoded data, so we we can not stuff
it with payload and leave the "payload" field empty. this change
refactors the ceph_test_msgr by introducing a Payload class which
encodes all test data in it.

Fixes: http://tracker.ceph.com/issues/17728
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 56896a7ed20869ce91ade4c77c1d6cbab8d50de1)
Conflicts:
src/test/msgr/test_msgr.cc: do not use the new-style DENC()
framework for implementing the encoder of Payload class. DENC() was
introduced after jewel was released.

8 years agotest/ceph_test_msgr: fix circular locking dependency
Kefu Chai [Mon, 8 Aug 2016 15:20:58 +0000 (23:20 +0800)]
test/ceph_test_msgr: fix circular locking dependency

* do not acquire lock when sending message
* remove lock in session
* reduce the scope guarded by locks for better performance.

Fixes: http://tracker.ceph.com/issues/16955
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit cf1801c260c42aa93850538eea7a194440ebe350)

8 years agoceph_test_msgr: use ceph log infrastructure to output
Haomai Wang [Thu, 7 Jul 2016 06:59:51 +0000 (14:59 +0800)]
ceph_test_msgr: use ceph log infrastructure to output

because we want to get the right log sequence which mixes ceph logginer and
cerr. Otherwise, cerr output make the logs a little disordered.

Signed-off-by: Haomai Wang <haomai@xsky.com>
(cherry picked from commit d1268a6aa895ee93cd9fee6fc6c759317e681a85)

8 years agoMerge pull request #11728 from ceph/wip-librados-upgrade-jewel
Josh Durgin [Wed, 2 Nov 2016 00:05:27 +0000 (17:05 -0700)]
Merge pull request #11728 from ceph/wip-librados-upgrade-jewel

qa: remove EnumerateObjects from librados upgrade tests

8 years agoMerge pull request #11669 from ceph/wip-jewel-11566
Loic Dachary [Fri, 28 Oct 2016 12:29:20 +0000 (14:29 +0200)]
Merge pull request #11669 from ceph/wip-jewel-11566

rgw: fix put_acls for objects starting and ending with underscore

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agorgw: fix put_acls for objects starting and ending with underscore 11675/head
Orit Wasserman [Wed, 19 Oct 2016 19:51:01 +0000 (21:51 +0200)]
rgw: fix put_acls for objects starting and ending with underscore

Fixes: http://tracker.ceph.com/issues/17625
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 14d4d912c7b47c56b16ae0bdc6bc08d208de3461)

8 years agoMerge pull request #11472 from dachary/wip-17510-jewel
Loic Dachary [Thu, 27 Oct 2016 19:40:26 +0000 (21:40 +0200)]
Merge pull request #11472 from dachary/wip-17510-jewel

jewel: ERROR: got unexpected error when trying to read object: -2

Reviewed-by: Yehuda Sadeh <ysadehwe@redhat.com>
8 years agorgw: fix put_acls for objects starting and ending with underscore 11669/head
Orit Wasserman [Wed, 19 Oct 2016 19:51:01 +0000 (21:51 +0200)]
rgw: fix put_acls for objects starting and ending with underscore

Fixes: http://tracker.ceph.com/issues/17625
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 14d4d912c7b47c56b16ae0bdc6bc08d208de3461)

8 years agoMerge pull request #11662 from linuxbox2/jewel-17635
Matt Benjamin [Thu, 27 Oct 2016 17:52:22 +0000 (13:52 -0400)]
Merge pull request #11662 from linuxbox2/jewel-17635

jewel: rgw: handle empty POST condition

8 years agoMerge pull request #11634 from dillaman/wip-17590-jewel
Loic Dachary [Thu, 27 Oct 2016 14:48:43 +0000 (16:48 +0200)]
Merge pull request #11634 from dillaman/wip-17590-jewel

jewel: journal: do not prematurely flag object recorder as closed

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoqa: remove EnumerateObjects from librados upgrade tests 11728/head
Josh Durgin [Wed, 26 Oct 2016 23:33:53 +0000 (16:33 -0700)]
qa: remove EnumerateObjects from librados upgrade tests

These rely on new rados functionality not present in jewel

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #11644 from ceph/wip-17695
Loic Dachary [Wed, 26 Oct 2016 21:00:35 +0000 (23:00 +0200)]
Merge pull request #11644 from ceph/wip-17695

jewel: librbd: discard after write can result in assertion failure

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agolibrbd: discard after write can result in assertion failure 11644/head
Jason Dillaman [Tue, 25 Oct 2016 13:43:06 +0000 (09:43 -0400)]
librbd: discard after write can result in assertion failure

With journaling enabled, the proper lock is not held when handling
a discard after write to overlapping extents. This issue is only present
on the jewel branch due to design changes on the master branch.

Fixes: http://tracker.ceph.com/issues/17695
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
8 years agorgw: handle empty POST condition 11662/head
Yehuda Sadeh [Thu, 20 Oct 2016 17:17:36 +0000 (10:17 -0700)]
rgw: handle empty POST condition

Fixes: http://tracker.ceph.com/issues/17635
Before accessing json entity, need to check that iterator is valid.
If there is no entry return appropriate error code.

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

8 years agoMerge pull request #11657 from dachary/wip-17707-jewel
Loic Dachary [Wed, 26 Oct 2016 14:47:03 +0000 (16:47 +0200)]
Merge pull request #11657 from dachary/wip-17707-jewel

jewel: ceph-disk: using a regular file as a journal fails

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #11321 from linuxbox2/jewel-11051
Loic Dachary [Wed, 26 Oct 2016 12:04:20 +0000 (14:04 +0200)]
Merge pull request #11321 from linuxbox2/jewel-11051

jewel: rgw: Do not archive metadata by default

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
8 years agoMerge pull request #11626 from ceph/wip-jewel-11567
Loic Dachary [Wed, 26 Oct 2016 09:55:49 +0000 (11:55 +0200)]
Merge pull request #11626 from ceph/wip-jewel-11567

jewel: don't loop forever when reading data from 0 sized segment.

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
8 years agoMerge pull request #11478 from dachary/wip-17312-jewel
Loic Dachary [Wed, 26 Oct 2016 09:39:40 +0000 (11:39 +0200)]
Merge pull request #11478 from dachary/wip-17312-jewel

jewel: build/ops: allow building RGW with LDAP disabled

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
8 years agoceph-disk: allow using a regular file as a journal 11657/head
Jayashree Candadai [Fri, 21 Oct 2016 17:52:05 +0000 (13:52 -0400)]
ceph-disk: allow using a regular file as a journal

Because of a missing return, ceph-disk prepare would fail if given a
regular file as a journal. If the journal file does not exist, ceph-disk
will create it but fail to ensure that the ceph user owns it. The
symlink to the journal file is not set when the journal file is
specified on the command line and the journal file does not exist at
all. The ceph-osd daemon will silently create it as a file but it will
not be the file given in argument.

Add a test case to verify using a regular file as a journal works as
expected.

Fixes: http://tracker.ceph.com/issues/17662
Signed-off-by: Jayashree Candadai <jayaajay@indiana.edu>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit db917d50eb5f86a07a5487e130f46a6b1d27672a)

8 years agoceph-disk: PEP8ify
Anirudha Bose [Wed, 17 Aug 2016 06:49:33 +0000 (12:19 +0530)]
ceph-disk: PEP8ify

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit f7a15ccfa2cc214c3688a2b41ac45be1abfb7700)

Conflicts:
src/ceph-disk/setup.py: python 2.7 restriction not backported

8 years agoceph-disk: Set space_symlink to the path, not file object
Anirudha Bose [Wed, 17 Aug 2016 06:45:25 +0000 (12:15 +0530)]
ceph-disk: Set space_symlink to the path, not file object

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit d290454cf5f660c1681eefd70a38e79da683525f)

8 years agoceph-disk: Use os.path.isabs instead of .startswith('/')
Anirudha Bose [Wed, 17 Aug 2016 06:43:53 +0000 (12:13 +0530)]
ceph-disk: Use os.path.isabs instead of .startswith('/')

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit 6f795356de00dd7c33282183b11a03da800fde7b)

8 years agoceph-disk: Use context manager with FileLock
Anirudha Bose [Sat, 18 Jun 2016 23:40:27 +0000 (05:10 +0530)]
ceph-disk: Use context manager with FileLock

acquire and release methods of FileLock are dropped

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit c1011d514ce0c7d340a5acd6f9c640165e169156)

8 years agoceph-disk: Fix bug in FileLock
Anirudha Bose [Sat, 18 Jun 2016 22:35:42 +0000 (04:05 +0530)]
ceph-disk: Fix bug in FileLock

Python fcntl.lockf() accepts a file descriptor, not a file object

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit df9cc2ce938a969f4044b63fd80030d00f64f060)

8 years agoceph-disk: Use true integer division in get_dev_size
Anirudha Bose [Thu, 16 Jun 2016 11:07:00 +0000 (16:37 +0530)]
ceph-disk: Use true integer division in get_dev_size

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit f1bb72c82806cc03e85e0b19c83d61409c6b2d51)

8 years agoceph-disk: Compatibility fixes for Python 3
Anirudha Bose [Tue, 14 Jun 2016 16:12:02 +0000 (21:42 +0530)]
ceph-disk: Compatibility fixes for Python 3

ceph-disk: Misc cleanups

Signed-off-by: Anirudha Bose <ani07nov@gmail.com>
(cherry picked from commit d0e29c74f84a2ed3014a516c0106172619314bdc)

Conflicts:
     src/ceph-disk/tox.ini: python3 is not supported in jewel

8 years agoceph-disk: change ownership of init file to ceph:ceph
Shylesh Kumar [Thu, 7 Jul 2016 15:15:57 +0000 (20:45 +0530)]
ceph-disk: change ownership of init file to ceph:ceph

Fixes: http://tracker.ceph.com/issues/16280
Signed-off-by: Shylesh Kumar <shmohan@redhat.com>
(cherry picked from commit aab9d03e1b50ba10a383663088400b9fabe306cb)

8 years agorgw: Do not archive metadata by default 11321/head
root [Mon, 12 Sep 2016 09:00:43 +0000 (14:30 +0530)]
rgw: Do not archive metadata by default

Fixes: http://tracker.ceph.com/issues/17256
Signed-off-by: Pavan Rallabhandi <PRallabhandi@walmartlabs.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit c617ea83e0cca0061af18e0811c7ef8b4e836519)

8 years agoMerge pull request #11642 from tchaikov/wip-17685-jewel
Loic Dachary [Tue, 25 Oct 2016 13:49:55 +0000 (15:49 +0200)]
Merge pull request #11642 from tchaikov/wip-17685-jewel

jewel: mon: fix missing osd metadata (again)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #11467 from dachary/wip-17262-jewel
Loic Dachary [Tue, 25 Oct 2016 13:40:01 +0000 (15:40 +0200)]
Merge pull request #11467 from dachary/wip-17262-jewel

jewel: rbd-nbd IO hang

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agomon: fix missing osd metadata (again) 11642/head
John Spray [Wed, 25 May 2016 16:56:51 +0000 (17:56 +0100)]
mon: fix missing osd metadata (again)

The JSON output was getting broken by continuing
in the wrong place.

Fixes: http://tracker.ceph.com/issues/17685
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit c5700ce4b45b3a385fe4c2111da852bea7d86da2)

8 years agojournal: do not prematurely flag object recorder as closed 11634/head
Jason Dillaman [Mon, 17 Oct 2016 13:48:20 +0000 (09:48 -0400)]
journal: do not prematurely flag object recorder as closed

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

8 years agoDon't loop forever when reading data from 0 sized segment. 11626/head
Marcus Watts [Fri, 14 Oct 2016 01:12:36 +0000 (21:12 -0400)]
Don't loop forever when reading data from 0 sized segment.

The 0 sized segment can arise depending on how
the client uploads the object in the first place.
The cpu loop then happens during a swift `GET'.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
(cherry picked from commit 46c5f9773246522e66bb2cca49345d0b62a16c42)

8 years agoMerge pull request #10757 from dachary/wip-17056-jewel
Loic Dachary [Mon, 24 Oct 2016 10:03:13 +0000 (12:03 +0200)]
Merge pull request #10757 from dachary/wip-17056-jewel

jewel: mon/osdmonitor: decouple adjust_heartbeat_grace and min_down_reporters

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #10759 from dachary/wip-16866-jewel
Loic Dachary [Mon, 24 Oct 2016 10:03:01 +0000 (12:03 +0200)]
Merge pull request #10759 from dachary/wip-16866-jewel

jewel: OSD: ceph osd df does not show summarized info correctly if one or more OSDs are out

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #11590 from dachary/wip-17642-jewel
Loic Dachary [Mon, 24 Oct 2016 09:55:41 +0000 (11:55 +0200)]
Merge pull request #11590 from dachary/wip-17642-jewel

jewel: TestJournalReplay: sporadic assert(m_state == STATE_READY || m_state == STATE_STOPPING) failure

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoosd: Remove extra call to reg_next_scrub() during splits 11606/head
David Zafman [Thu, 22 Sep 2016 21:15:13 +0000 (14:15 -0700)]
osd: Remove extra call to reg_next_scrub() during splits

Add assert() to catch this in the future

Fixes: http://tracker.ceph.com/issues/16474
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9e43346a0df062d618fa5710564e30db3ca9e5a5)

Conflicts:
src/osd/OSD.cc (trivial)

8 years agotest: TestJournalReplay test cases need to wait for committed journal event 11590/head
Jason Dillaman [Thu, 13 Oct 2016 14:04:24 +0000 (10:04 -0400)]
test: TestJournalReplay test cases need to wait for committed journal event

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

8 years agolibrbd: ignore cache busy errors when shrinking an image 11467/head
Jason Dillaman [Thu, 8 Sep 2016 15:51:34 +0000 (11:51 -0400)]
librbd: ignore cache busy errors when shrinking an image

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

Conflicts:
     src/test/librbd/operation/test_mock_ResizeRequest.cc:
     when_resize does not have the allow_shrink argument because
     d1f2c557b2c039730baca9efa3f5244bc19dcb1a has not been
     backported

8 years agolibrbd: invalidate cache before trimming image
Jason Dillaman [Thu, 8 Sep 2016 13:59:37 +0000 (09:59 -0400)]
librbd: invalidate cache before trimming image

Any potential writeback outside the extents of a shrunk image
would result in orphaned objects.

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

8 years agorbd-nbd: mask out-of-bounds IO errors caused by image shrink
Jason Dillaman [Wed, 7 Sep 2016 15:49:26 +0000 (11:49 -0400)]
rbd-nbd: mask out-of-bounds IO errors caused by image shrink

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

8 years agorbd-nbd: fix kernel deadlock during teuthology testing
Jason Dillaman [Mon, 5 Sep 2016 14:01:45 +0000 (10:01 -0400)]
rbd-nbd: fix kernel deadlock during teuthology testing

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

8 years agoMerge pull request #11519 from dachary/wip-17576-jewel
Casey Bodley [Thu, 20 Oct 2016 15:17:49 +0000 (11:17 -0400)]
Merge pull request #11519 from dachary/wip-17576-jewel

jewel: RGW loses realm/period/zonegroup/zone data: period overwritten if somewhere in the cluster is still running Hammer

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11471 from dachary/wip-17511-jewel
Casey Bodley [Thu, 20 Oct 2016 15:17:22 +0000 (11:17 -0400)]
Merge pull request #11471 from dachary/wip-17511-jewel

jewel: s3tests-test-readwrite failing with 500

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #11469 from dachary/wip-17538-jewel
Casey Bodley [Thu, 20 Oct 2016 15:16:38 +0000 (11:16 -0400)]
Merge pull request #11469 from dachary/wip-17538-jewel

jewel: rgw:user email can modify to empty when it has values

Reviewed-by: Casey Bodley <cbodley@redhat.com>