]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agomds: properly set default dir_hash for directory inodes 13227/head
Yan, Zheng [Mon, 20 Feb 2017 03:27:09 +0000 (11:27 +0800)]
mds: properly set default dir_hash for directory inodes

MDCache::handle_cache_rejoin_strong(). may add new inodes (race with
cache expire). Updating these inodes is at the very end of the function.
Before these inodes get updated, MDCache::handle_cache_rejoin_strong()
may add dentries to these inodes. So dir_hash type of these inodes
should be set to the default value.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: drop MDiscover/MMDSOpenIno messages if mds state < REJOIN
Yan, Zheng [Fri, 17 Feb 2017 03:33:39 +0000 (11:33 +0800)]
mds: drop MDiscover/MMDSOpenIno messages if mds state < REJOIN

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: don't call kick_discovers() for recovering mds twice
Yan, Zheng [Fri, 17 Feb 2017 02:51:43 +0000 (10:51 +0800)]
mds: don't call kick_discovers() for recovering mds twice

MDSRankDispatcher::handle_mds_map() calls kick_discovers() when
the recovering mds enters rejoin state. No need to call it again
when the recovering mds entry clientreplay/active state.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: avoid race between cache expire and MDentryLink
Yan, Zheng [Wed, 15 Feb 2017 07:51:00 +0000 (15:51 +0800)]
mds: avoid race between cache expire and MDentryLink

commit 22535340 tried to fix race between cache expire and
MDentryLink. It avoids trimming null dentry whose lock is
not readable. The fix does not handle the case that MDS
first recevies a MDentryUnlink message, then receives a
MDentryLink message.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: properly update replica inode's ctime
Yan, Zheng [Tue, 14 Feb 2017 04:01:41 +0000 (12:01 +0800)]
mds: properly update replica inode's ctime

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: fix deadlock when wrlock and remote_wrlock the same lock
Yan, Zheng [Mon, 13 Feb 2017 01:30:43 +0000 (09:30 +0800)]
mds: fix deadlock when wrlock and remote_wrlock the same lock

When handling trans-authority rename, the master mds may ask slave
mds to wrlock a lock, then try to wrlock the same lock locally.
If the master can't wrlock the lock locally, it need to drop the
remote wrlock and wait. Otherwise deadlock happens. The code does
not handle a corner case: Lock::wrlock_start() can sleep even
when SimpleLock::can_wrlock() return true.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: issue new caps to client even when session is stale
Yan, Zheng [Fri, 10 Feb 2017 09:31:37 +0000 (17:31 +0800)]
mds: issue new caps to client even when session is stale

If early reply is not allowed for open request, MDS does not send
reply to client immediately after adding adds new caps. Later when
MDS sends the reply, client session can be in stale stale. If MDS
does not issue the new caps to client along with the reply, the
new caps get lost. This issue can cause MDS to hang at revoking
caps.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: cleanup CInode::encode_inodestat()
Yan, Zheng [Fri, 10 Feb 2017 08:57:42 +0000 (16:57 +0800)]
mds: cleanup CInode::encode_inodestat()

variable no_caps should be true when valid is false.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: note subtree bounds when rolling back rename
Yan, Zheng [Thu, 9 Feb 2017 03:43:57 +0000 (11:43 +0800)]
mds: note subtree bounds when rolling back rename

mds can do a slave rename that moves directory inode (whoes dirfrags
are all non-auth) to new auth. Then rolls back the slave rename. If
There is a ESubtreeMap event between log event of slave rename and
log event of rollback. The ESubtreeMap does not have information
about the inode's non-auth dirfrags.

Later when mds replays the log, the log event of slave rename can
be missing. So mds need to re-create subtree bounds when replaying
the log event of rename rollback

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: handle race of freezing auth pin
Yan, Zheng [Wed, 8 Feb 2017 08:18:51 +0000 (16:18 +0800)]
mds: handle race of freezing auth pin

Linkage of rename source dentry may change during freezing auth
pin for the rename source inode. So we may freeze auth pin for
the wrong inode.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: properly set ambiguous auth on auth mds of rename source inode
Yan, Zheng [Wed, 8 Feb 2017 03:25:16 +0000 (11:25 +0800)]
mds: properly set ambiguous auth on auth mds of rename source inode

When doing trans-authority rename, the master mds may send two slave
requests to auth mds of rename source inode. The first slave request
set ambiguous auth on rename source inode. The second slave request
is sent after receiving all bystanders' slave request replies.

Current code uses mdr->more()->is_ambiguous_auth bit to indicate if
the first slave reuqest was sent. The is_ambiguous_auth is set when
when calling Server::_rename_prepare_witness(). This causes problem
if Server::_rename_prepare_witness() can't send the slave request
immediately and wants to retry the MDRequest laster. The fix is set
is_ambiguous_auth when receiving reply for the first slave request

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: disambiguate other mds' imports when cluster enters rejoin state
Yan, Zheng [Tue, 7 Feb 2017 02:25:06 +0000 (10:25 +0800)]
mds: disambiguate other mds' imports when cluster enters rejoin state

When mds cluster is in rejoin state, we know all mds have finished
their exports. All export abort notifications have been processed
by standby mds. So it's safe to disambiguate other mds' imports.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: wait acknowledgment for export abort notification
Yan, Zheng [Tue, 7 Feb 2017 05:15:59 +0000 (13:15 +0800)]
mds: wait acknowledgment for export abort notification

To disambiguate other mds's failed import, survivor bystander mds
need to receive either exporter mds' export abort notification or
exporter mds' resolve message. For bystander mds, it's hard to
distinguish "export succeeded" from the case "hasn't received
export abort notification".

To handle this problem, we rely on the fact that surviver mds does
not send resolve message to the recovering mds until it finishes
all its exports. Without the resolve message, the recovering mds
can't go to rejoin state. So when mds cluster is in rejoin state,
we know all mds have finished their exports. If export abort
notifications also require acknowledgments. When mds cluster is
in rejoin state, we know all export abort notifications have been
proceesed by bystander mds. So bystander mds can disambiguate other
mds' imports

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: kill export finish waiters
Yan, Zheng [Tue, 7 Feb 2017 04:36:11 +0000 (12:36 +0800)]
mds: kill export finish waiters

this code is unused

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: cleanup ambiguous slave update when master mds fails
Yan, Zheng [Mon, 6 Feb 2017 09:15:40 +0000 (17:15 +0800)]
mds: cleanup ambiguous slave update when master mds fails

When auth mds of rename source dentry fails, slave updates in witness
mds become ambiguous. Witnesses need to ask the master if they should
rollback the updates. This type of rollback is special, corresponding
MDRequest struct need to be preserved after rollback. If the master
mds also fails, slave updates in witness mds are no longer special.
Corresponding MDRequest struct need to be cleanup after rollback.

see commit e62e48bb for more information.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: log master commit after all slave commits get journaled
Yan, Zheng [Mon, 6 Feb 2017 08:47:43 +0000 (16:47 +0800)]
mds: log master commit after all slave commits get journaled

When survivor mds sends resolve message to recovering mds, aslo
records committing slave request in the message. So the recovering
mds knows the slave commit is still being journaled. It journals
master commit after receiving corresponding OP_COMMITTED message.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: tracking committing and rolling back slave requests
Yan, Zheng [Mon, 6 Feb 2017 07:54:57 +0000 (15:54 +0800)]
mds: tracking committing and rolling back slave requests

When handling mds failure, we need to distinguish committing and
'rolling back' slave requests from unprepared slave requests.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: avoid zero replica_nonce
Yan, Zheng [Mon, 6 Feb 2017 03:03:38 +0000 (11:03 +0800)]
mds: avoid zero replica_nonce

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: set STATE_AUTH in MDSCacheObject::deocde_import
Yan, Zheng [Mon, 6 Feb 2017 02:53:12 +0000 (10:53 +0800)]
mds: set STATE_AUTH in MDSCacheObject::deocde_import

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: avoid journal unnessary dirfrags in ESubtreeMap
Yan, Zheng [Fri, 3 Feb 2017 06:58:56 +0000 (14:58 +0800)]
mds: avoid journal unnessary dirfrags in ESubtreeMap

EMetaBlob::add_dir_contex() skips adding inodes that has already
been journaled in the last ESubtreeMap. The log replay code only
replays the first ESubtreeMap. For the rest ESubtreeMap, it just
verifies subtree map in the cache matches the ESubtreeMap. If
unnessary inodes were included in non-first ESubtreeMap, these
inodes do not get added to the cache, the log replay code can
find these inodes are missing when replaying the rest events in
the log segment.

Previous attempt (commit a9b959dfb7) to fix this issue is not
complete. This patch makes MDCache::create_subtree_map() journal
dirfrags according to simplified subtree map. It should fix this
issue completely.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: drop superfluous MMDSOpenInoReply
Yan, Zheng [Thu, 2 Feb 2017 10:56:12 +0000 (18:56 +0800)]
mds: drop superfluous MMDSOpenInoReply

Superfluous MMDSOpenInoReply can causes MDCache::handle_open_ino_reply()
to call MDCache::do_open_ino() in improper state.

Fixes: http://tracker.ceph.com/issues/18754
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agomds: stop purging strays when mds is being shutdown
Yan, Zheng [Thu, 2 Feb 2017 03:59:50 +0000 (11:59 +0800)]
mds: stop purging strays when mds is being shutdown

Fixes: http://tracker.ceph.com/issues/18717
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
8 years agoMerge pull request #13468 from vumrao/wip-vumrao-18932
Kefu Chai [Mon, 20 Feb 2017 03:06:06 +0000 (11:06 +0800)]
Merge pull request #13468 from vumrao/wip-vumrao-18932

auth: 'ceph auth import -i' overwrites caps, if caps are not specified

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13267 from yuyuyu101/wip-fix-lock
Kefu Chai [Mon, 20 Feb 2017 03:02:30 +0000 (11:02 +0800)]
Merge pull request #13267 from yuyuyu101/wip-fix-lock

msg/simple: fix missing unlock when already bind

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #10125 from stiopaa1/msg_asyncmess_changeReturnTypeIntToVoid
Kefu Chai [Mon, 20 Feb 2017 03:00:42 +0000 (11:00 +0800)]
Merge pull request #10125 from stiopaa1/msg_asyncmess_changeReturnTypeIntToVoid

msg/AsyncMessenger: remove unused method

Reviewed-by: Haomai Wang <haomai@xsky.com>
8 years agoMerge pull request #13339 from wjwithagen/wip-wjw-include-ceph_features
Kefu Chai [Mon, 20 Feb 2017 02:58:53 +0000 (10:58 +0800)]
Merge pull request #13339 from wjwithagen/wip-wjw-include-ceph_features

common: include/ceph_features.h uses uint64_t, which is in sys/types.h

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoauth: 'ceph auth import -i' overwrites caps, if caps are not specified 13468/head
Vikhyat Umrao [Thu, 16 Feb 2017 18:21:11 +0000 (23:51 +0530)]
auth: 'ceph auth import -i' overwrites caps, if caps are not specified
in given keyring file, should alert user and should not allow this import.
Because in 'ceph auth list' we keep all the keyrings with caps and importing
'client.admin' user keyring without caps locks the cluster with error[1]
because admin keyring caps are missing in 'ceph auth'.

[1] Error connecting to cluster: PermissionDeniedError

Fixes: http://tracker.ceph.com/issues/18932
Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
8 years agoMerge pull request #13519 from smithfarm/wip-drop-boost-devel
Kefu Chai [Sun, 19 Feb 2017 18:13:29 +0000 (02:13 +0800)]
Merge pull request #13519 from smithfarm/wip-drop-boost-devel

rpm: drop boost build dependencies

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13524 from tchaikov/wip-debian-drop-boost-builddeps
Kefu Chai [Sun, 19 Feb 2017 17:59:24 +0000 (01:59 +0800)]
Merge pull request #13524 from tchaikov/wip-debian-drop-boost-builddeps

debian: drop boost build dependencies

Reviewed-by: Nathan Cutler <ncutler@suse.com>
8 years agoMerge pull request #10487 from yangdongsheng/rbd_export
Jason Dillaman [Sun, 19 Feb 2017 17:18:04 +0000 (12:18 -0500)]
Merge pull request #10487 from yangdongsheng/rbd_export

rbd: introduce v2 format for rbd export/import

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agorbd: import/export/mergediff: use STD[IN|OUT]_FILENO instead of 0 or 1 10487/head
Dongsheng Yang [Thu, 3 Nov 2016 10:47:11 +0000 (06:47 -0400)]
rbd: import/export/mergediff: use STD[IN|OUT]_FILENO instead of 0 or 1

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import: use read() instead of lseek() when from_stdin is true
Dongsheng Yang [Thu, 3 Nov 2016 06:34:10 +0000 (02:34 -0400)]
rbd: import: use read() instead of lseek() when from_stdin is true

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: add docs for new format of rbd export.
Dongsheng Yang [Wed, 2 Nov 2016 10:17:06 +0000 (06:17 -0400)]
rbd: add docs for new format of rbd export.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: combine the namespaces of export_diff and export_full, import_diff and import.
Dongsheng Yang [Wed, 2 Nov 2016 08:37:32 +0000 (04:37 -0400)]
rbd: combine the namespaces of export_diff and export_full, import_diff and import.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import: decode file data in le64 for compatability on different platform
Dongsheng Yang [Thu, 3 Nov 2016 11:07:20 +0000 (07:07 -0400)]
rbd: import: decode file data in le64 for compatability on different platform

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import_diff/export_diff: encode length for each tag.
Dongsheng Yang [Wed, 2 Nov 2016 08:30:00 +0000 (04:30 -0400)]
rbd: import_diff/export_diff: encode length for each tag.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: refactor export/import to v1 and v2 methods.
Dongsheng Yang [Thu, 20 Oct 2016 12:07:31 +0000 (08:07 -0400)]
rbd: refactor export/import to v1 and v2 methods.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: use the unified --export-format option for rbd export and rbd import
Dongsheng Yang [Thu, 20 Oct 2016 11:41:26 +0000 (07:41 -0400)]
rbd: use the unified --export-format option for rbd export and rbd import

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agoqa/workunit/rbd: import_export.sh: add image priorities exporting and importing test...
Dongsheng Yang [Fri, 14 Oct 2016 03:18:03 +0000 (23:18 -0400)]
qa/workunit/rbd: import_export.sh: add image priorities exporting and importing test cases.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import/export image stripe_unit and stripe_count.
Dongsheng Yang [Fri, 14 Oct 2016 02:38:30 +0000 (22:38 -0400)]
rbd: import/export image stripe_unit and stripe_count.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import/export features of image
Dongsheng Yang [Fri, 14 Oct 2016 02:15:27 +0000 (22:15 -0400)]
rbd: import/export features of image

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: import/export image_order.
Dongsheng Yang [Thu, 13 Oct 2016 11:00:33 +0000 (07:00 -0400)]
rbd: import/export image_order.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agoqa/workunit/rbd: add test case for --import/export-format in import_export.sh
Dongsheng Yang [Fri, 29 Jul 2016 04:19:54 +0000 (00:19 -0400)]
qa/workunit/rbd: add test case for --import/export-format in import_export.sh

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: introduce --export-format to export command
Dongsheng Yang [Thu, 28 Jul 2016 12:11:08 +0000 (08:11 -0400)]
rbd: introduce --export-format to export command

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: introduce --import-format to import command
Dongsheng Yang [Thu, 28 Jul 2016 11:06:44 +0000 (07:06 -0400)]
rbd: introduce --import-format to import command

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: refactor do_import_diff to accept fd.
Dongsheng Yang [Tue, 11 Oct 2016 11:18:07 +0000 (07:18 -0400)]
rbd: refactor do_import_diff to accept fd.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: refactor do_export_diff to accept fd
Dongsheng Yang [Tue, 11 Oct 2016 11:02:02 +0000 (07:02 -0400)]
rbd: refactor do_export_diff to accept fd

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: move do_import_diff out from namespace of import_diff
Dongsheng Yang [Tue, 11 Oct 2016 10:54:14 +0000 (06:54 -0400)]
rbd: move do_import_diff out from namespace of import_diff

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: move do_export_diff out from namespace of export_diff.
Dongsheng Yang [Tue, 11 Oct 2016 10:30:45 +0000 (06:30 -0400)]
rbd: move do_export_diff out from namespace of export_diff.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: squash ImportDiff.cc into Import.cc.
Dongsheng Yang [Tue, 11 Oct 2016 09:15:02 +0000 (05:15 -0400)]
rbd: squash ImportDiff.cc into Import.cc.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: squash ExportDiff.cc into Export.cc
Dongsheng Yang [Tue, 11 Oct 2016 08:23:51 +0000 (04:23 -0400)]
rbd: squash ExportDiff.cc into Export.cc

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: use macro for rbd diff tags
Dongsheng Yang [Wed, 6 Jul 2016 09:24:57 +0000 (05:24 -0400)]
rbd: use macro for rbd diff tags

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: finish the pc in importing even if from_stdin.
Dongsheng Yang [Fri, 29 Jul 2016 02:24:54 +0000 (22:24 -0400)]
rbd: finish the pc in importing even if from_stdin.

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd: remove image in error handling of importing
Dongsheng Yang [Thu, 28 Jul 2016 22:05:11 +0000 (18:05 -0400)]
rbd: remove image in error handling of importing

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agorbd/Import: fix the indent of labels
Dongsheng Yang [Thu, 28 Jul 2016 12:25:22 +0000 (08:25 -0400)]
rbd/Import: fix the indent of labels

Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
8 years agodebian: drop boost build dependencies 13524/head
Kefu Chai [Sun, 19 Feb 2017 12:04:40 +0000 (20:04 +0800)]
debian: drop boost build dependencies

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agorpm: drop boost build dependencies 13519/head
Nathan Cutler [Sun, 19 Feb 2017 08:24:04 +0000 (09:24 +0100)]
rpm: drop boost build dependencies

The boost library is now a submodule.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
8 years agoMerge pull request #13207 from liewegas/wip-mapping
Sage Weil [Sat, 18 Feb 2017 18:58:05 +0000 (12:58 -0600)]
Merge pull request #13207 from liewegas/wip-mapping

mon: restructure prime_pg_temp around a full pg mapping calculated on multiple CPUs

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13420 from liewegas/wip-18929
Sage Weil [Sat, 18 Feb 2017 18:57:00 +0000 (12:57 -0600)]
Merge pull request #13420 from liewegas/wip-18929

osd/PG: restrict want_acting to up+acting on recovery completion

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #13479 from LiumxNL/fix-monc-rand
Sage Weil [Sat, 18 Feb 2017 18:38:29 +0000 (12:38 -0600)]
Merge pull request #13479 from LiumxNL/fix-monc-rand

mon/MonClient: random all ranks then pick first_n

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13482 from idryomov/wip-qa-krbd-data-pool
Jason Dillaman [Sat, 18 Feb 2017 14:00:59 +0000 (09:00 -0500)]
Merge pull request #13482 from idryomov/wip-qa-krbd-data-pool

qa: add workunit to test krbd data-pool support

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agomon/MonClient: random all ranks then pick first_n 13479/head
Mingxin Liu [Fri, 17 Feb 2017 10:25:05 +0000 (18:25 +0800)]
mon/MonClient: random all ranks then pick first_n

Signed-off-by: Mingxin Liu <mingxin@xsky.com>
8 years agoMerge pull request #13493 from liewegas/wip-log-split-index
Kefu Chai [Sat, 18 Feb 2017 10:31:24 +0000 (18:31 +0800)]
Merge pull request #13493 from liewegas/wip-log-split-index

osd/PGLog: fix index for parent and child log on split

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #13458 from tchaikov/wip-silence-gcc-warnings
Kefu Chai [Sat, 18 Feb 2017 10:24:46 +0000 (18:24 +0800)]
Merge pull request #13458 from tchaikov/wip-silence-gcc-warnings

include/denc, kv: silence gcc warnings

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13462 from tanghaodong25/reweight-by-pg
Kefu Chai [Sat, 18 Feb 2017 10:23:55 +0000 (18:23 +0800)]
Merge pull request #13462 from tanghaodong25/reweight-by-pg

mon/OSDMonitor: some cleanup for reweight-by-pg

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13473 from tchaikov/wip-coverity-fixes
Kefu Chai [Sat, 18 Feb 2017 10:22:47 +0000 (18:22 +0800)]
Merge pull request #13473 from tchaikov/wip-coverity-fixes

msg, messages: coverity fixes

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12977 from weixiaowilliam/crc32c_opt
Kefu Chai [Sat, 18 Feb 2017 09:13:50 +0000 (17:13 +0800)]
Merge pull request #12977 from weixiaowilliam/crc32c_opt

crc32c: optimize aarch64 crc32c implementation

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13428 from xiexingguo/wip-flush-cache
Kefu Chai [Sat, 18 Feb 2017 08:45:36 +0000 (16:45 +0800)]
Merge pull request #13428 from xiexingguo/wip-flush-cache

os/bluestore: add flush_store_cache cmd

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13430 from majianpeng/tracepointprovier
Kefu Chai [Sat, 18 Feb 2017 08:45:01 +0000 (16:45 +0800)]
Merge pull request #13430 from majianpeng/tracepointprovier

common/TracepointProvider: add assert if dlopen error.

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13335 from ovh/wip-clang-compilation-fix
Kefu Chai [Sat, 18 Feb 2017 08:43:51 +0000 (16:43 +0800)]
Merge pull request #13335 from ovh/wip-clang-compilation-fix

common: Fix clang compilation

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agomsg/async: fix missing unlock when already bind 13267/head
Haomai Wang [Mon, 6 Feb 2017 06:45:21 +0000 (14:45 +0800)]
msg/async: fix missing unlock when already bind

Signed-off-by: Haomai Wang <haomai@xsky.com>
8 years agoMerge pull request #13435 from yuyuyu101/wip-rdma-leak
Haomai Wang [Sat, 18 Feb 2017 06:14:32 +0000 (14:14 +0800)]
Merge pull request #13435 from yuyuyu101/wip-rdma-leak

msg/async/rdm: fix leak when existing failure in ip network

Reviewed-by: Adir lev <adirl@mellanox.com>
8 years agoMerge pull request #13511 from tangwenjun3/wip-nvme
Haomai Wang [Sat, 18 Feb 2017 06:10:37 +0000 (14:10 +0800)]
Merge pull request #13511 from tangwenjun3/wip-nvme

os/bluestore: fix bug in aio_read()

Reviewed-by: Haomai Wang <haomai@xsky.com>
8 years agoos/bluestore:fix bug in aio_read() 13511/head
tangwenjun3 [Sat, 18 Feb 2017 03:07:19 +0000 (11:07 +0800)]
os/bluestore:fix bug in aio_read()

fixed compilation issue  in aio_read() when enable spdk

Signed-off-by: tangwenjun <tang.wenjun3@zte.com.cn>
8 years agoMerge pull request #13484 from yuyuyu101/wip-rdma-perf-counter
Haomai Wang [Sat, 18 Feb 2017 05:31:45 +0000 (13:31 +0800)]
Merge pull request #13484 from yuyuyu101/wip-rdma-perf-counter

msg/async/rdma: add perf counters to RDMA backend

Reviewed-by: Adir lev <adirl@mellanox.com>
8 years agomsg/async/rdma: add perf counters to RDMA backend 13484/head
Haomai Wang [Fri, 17 Feb 2017 16:23:37 +0000 (00:23 +0800)]
msg/async/rdma: add perf counters to RDMA backend

Signed-off-by: Haomai Wang <haomai@xsky.com>
8 years agoMerge pull request #10156 from rzarzynski/wip-rgw-controllable-204
Matt Benjamin [Fri, 17 Feb 2017 20:56:06 +0000 (15:56 -0500)]
Merge pull request #10156 from rzarzynski/wip-rgw-controllable-204

rgw: make sending Content-Length in 204 and 304 responses controllable

8 years agoMerge pull request #13467 from liewegas/wip-init-ceph
Dan Mick [Fri, 17 Feb 2017 20:52:09 +0000 (12:52 -0800)]
Merge pull request #13467 from liewegas/wip-init-ceph

init-ceph: fix ceph user args

Reviewed-by: Dan Mick <dmick@redhat.com>
8 years agoosd/PGLog: avoid return by value on ginormous log 13493/head
Sage Weil [Fri, 17 Feb 2017 17:46:38 +0000 (12:46 -0500)]
osd/PGLog: avoid return by value on ginormous log

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/PGLog: reindex properly on pg log split
Sage Weil [Fri, 17 Feb 2017 19:50:38 +0000 (14:50 -0500)]
osd/PGLog: reindex properly on pg log split

When pg_log_t::split_out_child() runs it builds the list, which means the
old indexes are wrong (the point to bad memory), but index() will not
rebuild them because ever since b858e869e78927dccebaa350d246bd74af7f1de9
we won't rebuild them if they are already built.

Fix that by calling unindex() before the split.

Further, the new child log also needs to be indexed.  Fix that too.

Fixes: http://tracker.ceph.com/issues/18975
Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13495 from ceph/revert-13452-wip-suite-repo-for-workunit
Jason Dillaman [Fri, 17 Feb 2017 18:49:11 +0000 (13:49 -0500)]
Merge pull request #13495 from ceph/revert-13452-wip-suite-repo-for-workunit

Revert "qa/tasks/workunit: use the suite repo for cloning workunit"

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agocommon/perf_histogram: initialize member vars of axis_config_d 13473/head
Kefu Chai [Fri, 17 Feb 2017 11:21:34 +0000 (19:21 +0800)]
common/perf_histogram: initialize member vars of axis_config_d

addresses CID 1400670:    (UNINIT_CTOR)

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoRevert "qa/tasks/workunit: use the suite repo for cloning workunit" 13495/head
Sage Weil [Fri, 17 Feb 2017 17:54:27 +0000 (11:54 -0600)]
Revert "qa/tasks/workunit: use the suite repo for cloning workunit"

8 years agoMerge pull request #12370 from wido/docs-cephfs-disaster
John Spray [Fri, 17 Feb 2017 16:59:35 +0000 (16:59 +0000)]
Merge pull request #12370 from wido/docs-cephfs-disaster

doc: Update CephFS disaster recovery documentation

Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #13456 from tchaikov/wip-qa-objectstore
Kefu Chai [Fri, 17 Feb 2017 15:16:05 +0000 (23:16 +0800)]
Merge pull request #13456 from tchaikov/wip-qa-objectstore

qa/suites/rados/objectstore: enable experimental features for testing bluestore

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13437 from Liuchang0812/cleanup-rbd
Jason Dillaman [Fri, 17 Feb 2017 13:03:24 +0000 (08:03 -0500)]
Merge pull request #13437 from Liuchang0812/cleanup-rbd

librbd: use 'override' keyword instead of 'virtual'

8 years agorbd: add override in rbd subsystem 13437/head
liuchang0812 [Wed, 15 Feb 2017 13:37:31 +0000 (21:37 +0800)]
rbd: add override in rbd subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agokv: silence the gcc warning of func foo was hidden 13458/head
Kefu Chai [Thu, 16 Feb 2017 12:04:59 +0000 (20:04 +0800)]
kv: silence the gcc warning of func foo was hidden

this silences the warnings like

ceph/ceph/src/kv/KeyValueDB.h:59:18: warning: ‘virtual void
KeyValueDB::TransactionImpl::set(const string&, const char*, size_t,
const bufferlist&)’ was hidden [-Woverloaded-\
virtual]
     virtual void set(
                  ^~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoinclude/denc: silence gcc warnings
Kefu Chai [Thu, 16 Feb 2017 11:39:30 +0000 (19:39 +0800)]
include/denc: silence gcc warnings

gcc-7 complains:

ceph/ceph/src/include/denc.h:469:50: warning: enum constant in boolean
context [-Wint-in-bool-context]
 inline typename std::enable_if<traits::supported &&
                                ~~~~~~~~~~~~~~~~~~^~
           traits::featured>::type denc(
           ~~~~~~

so let's use "static constexpr bool" instead of enum.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #11786 from leseb/dmcrypt-cluster-name
Loic Dachary [Fri, 17 Feb 2017 08:55:19 +0000 (09:55 +0100)]
Merge pull request #11786 from leseb/dmcrypt-cluster-name

ceph-disk: ability to use a different cluster name with dmcrypt

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #12433 from liupan1111/wip-fix-rbd-nbd-log-sock
Mykola Golub [Fri, 17 Feb 2017 07:54:03 +0000 (09:54 +0200)]
Merge pull request #12433 from liupan1111/wip-fix-rbd-nbd-log-sock

rbd-nbd: create admin socket only for map command

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agomsg/async/AsyncConnection: remove no-ops
Kefu Chai [Fri, 17 Feb 2017 04:49:12 +0000 (12:49 +0800)]
msg/async/AsyncConnection: remove no-ops

addresses CID 1400656:  Incorrect expression  (NO_EFFECT)

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomsg/simple/Pipe: remove no-op statements
Kefu Chai [Fri, 17 Feb 2017 04:45:12 +0000 (12:45 +0800)]
msg/simple/Pipe: remove no-op statements

addresses CID 1400658:  Incorrect expression  (NO_EFFECT)

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomessages/MOSDBackoff: make *_VERSION static
Kefu Chai [Fri, 17 Feb 2017 04:44:00 +0000 (12:44 +0800)]
messages/MOSDBackoff: make *_VERSION static

addresses CID 1400661:  Uninitialized variables  (UNINIT)

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoqa/workunits/objectstore/test_fuse.sh: enable experimental features 13456/head
Kefu Chai [Thu, 16 Feb 2017 09:27:16 +0000 (17:27 +0800)]
qa/workunits/objectstore/test_fuse.sh: enable experimental features

so we can test bluestore

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoqa/workunits/objectstore/test_fuse.sh: use portable function decl
Dan Mick [Thu, 16 Feb 2017 01:21:01 +0000 (17:21 -0800)]
qa/workunits/objectstore/test_fuse.sh: use portable function decl

function f() is illegal in strict POSIX shells, like dash, which is
the default /bin/sh on Ubuntu

Signed-off-by: Dan Mick <dan.mick@redhat.com>
8 years agoqa/workunits/objectstore/test_fuse.sh: allow failure
Dan Mick [Thu, 16 Feb 2017 04:08:31 +0000 (20:08 -0800)]
qa/workunits/objectstore/test_fuse.sh: allow failure

This script currently has a syntax error, but still exits with
success, which is hiding that failure.  Expose it by allowing
the 'sudo' exit code to be the script's exit code.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
8 years agoMerge pull request #12797 from chendave/wip_error_message
Kefu Chai [Fri, 17 Feb 2017 02:16:54 +0000 (10:16 +0800)]
Merge pull request #12797 from chendave/wip_error_message

ceph.in: Fix couple of minor issues on the messages

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13449 from xiaoxichen/mdlog_jlat
Xiaoxi Chen [Fri, 17 Feb 2017 02:12:13 +0000 (10:12 +0800)]
Merge pull request #13449 from xiaoxichen/mdlog_jlat

mds/MDLog.cc Fix perf counter type for jlat

8 years agorgw: make sending Content-Length in 204 and 304 controllable 10156/head
Radoslaw Zarzynski [Thu, 16 Feb 2017 23:56:34 +0000 (00:56 +0100)]
rgw: make sending Content-Length in 204 and 304 controllable

This commit introduces a new configurable "rgw print prohibited
content length" to let operator decide whether RadosGW complies
to RFC 7230 (a part of the HTTP specification) or violates it
but follows the Swift's behavior.

Fixes: http://tracker.ceph.com/issues/16602
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>