Commit Graph

67683 Commits

Author SHA1 Message Date
Yan, Zheng
c9ecea101f mds: pin base object of discover
make sure the base object is in the cache when handing MDiscoverReply

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-01-26 10:52:25 +08:00
Yan, Zheng
e3ee0f12ed mds: handle case that there is no session for the importing caps
Fixes: http://tracker.ceph.com/issues/18646
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-01-26 10:13:41 +08:00
Yan, Zheng
a9b959dfb7 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.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-01-23 22:45:29 +08:00
Yan, Zheng
cdc2eb8a68 mds: ignore useless slave request replies during recovery
During mds recovers, most slave request replies are useless. If
corresponding master was not committed, slave requests will be
rollback. If corresponding master was committed, it's only
possible to receive slave request reply of type OP_COMMITTED.
The OP_COMMITTED replay is useful only if it's was triggered
by the recovering mds's resolve ack message.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-01-23 17:42:43 +08:00
Yan, Zheng
6c42d7e612 mds: fix use-after-free in MDCache::disambiguate_imports
MDCache::try_trim_non_auth_subtree() frees the CDir

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:59:20 +08:00
Yan, Zheng
3100af0c2a mds: fix race between submitting EImportFinish and SubtreeMap
MDCache::create_subtree_map() use MDCache::my_ambiguous_imports
and Migrator::is_ambiguous_import() to decide if a subtree is
ambiguous import.  Submitting log event can start new segment
and submit an extra SubtreeMap. So before submitting EImportFinish
event, we need to cleanup MDCache::my_ambiguous_imports and
Migrator::import_state.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:59:20 +08:00
Yan, Zheng
e7d6c854d6 mds: cleanup Migrator::decode_import_inode()
EMetaBlob::add_primary_dentry() updates inode's last_journaled.
No need to do the same job in Migrator::decode_import_inode()

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:59:20 +08:00
Yan, Zheng
d91b4f5ddb mds: add -ESTALE recovery code for slave rmdir
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:59:20 +08:00
Yan, Zheng
369baa205c Revert "mds: only send slave rmdir prepare to auth mds of subtree"
This reverts commit 99c9147452.

Sending slave requests to all replica mds simplify the subtree reolve
process of mds recovery. It guarantee all mds have a consistent
subtree map. Otherwise replica mds can failed to receive the
MDentryUnlink message if the master mds fails. When the master mds
recovers, its subtree map is different from the replica mds.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:59:19 +08:00
Yan, Zheng
ce27234f59 mds: handle subtree export abort notification race.
If subtree exporter fails, the importer may send abort notification
to bystanders in import_state_t::bystanders. If both the exporter and
bystander fail in the same mdsmap epoch. The migrator first send abort
notification to the failed bystander, then remove the bystander from
import_state_t::bystanders. This cause mds to assert on unexpected
MExportDirNotifyAck message.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-19 14:57:48 +08:00
Yan, Zheng
9ef58d809d mds: cleanup MDCache::handle_mds_failure
mds failure does not affect content of recovery_set. So there is
no need to re-calculate recovery_set in MDCache::handle_mds_failure.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-18 16:33:59 +08:00
Yan, Zheng
3d6cc4adfd mds: fix MDSMap::get_recovery_mds_set()
The function get set of mds rank that exist. it needs to consider
the damaged mds set.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-18 16:33:59 +08:00
Yan, Zheng
304e472103 mds: fix MDSMap::is_resolving()
the function checks if all recovering mds reach resolve state.
it needs to consider damaged mds set.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-18 16:33:59 +08:00
Yan, Zheng
47105c599c mds: fix clientreplay hang
request whose retry_attempt > 0 can also be in the clientreply queue.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-18 16:33:59 +08:00
Gregory Farnum
5f651d8e28 Merge pull request #12964 from jcsp/wip-18574
qa: update remaining ceph.com to download.ceph.com
2017-01-17 09:37:21 -08:00
Kefu Chai
e556bea651 Merge pull request #12962 from dillaman/wip-rbd-boost-crash
rbd: remove direct linking to static boost libraries

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-18 00:48:51 +08:00
John Spray
549d993d3f qa: update remaining ceph.com to download.ceph.com
Fixes: http://tracker.ceph.com/issues/18574
Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-17 17:14:50 +01:00
Jason Dillaman
eeceb111d8 rbd: remove direct linking to static boost libraries
The boost libraries are included in libceph-common. If linked
directly, boost::regex will abort during shutdown since it uses
a global static variable and it will be destructed twice.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-17 10:39:03 -05:00
Jason Dillaman
449d7831d8 Merge pull request #12885 from rjfd/wip-18325
librbd: allow to open an image without opening the parent image

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-01-17 08:45:52 -05:00
Jason Dillaman
06a4e14228 Merge pull request #12922 from trociny/wip-managed_lock_refactoring
librbd: managed lock refactoring

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-01-17 08:45:22 -05:00
Mykola Golub
9107d31728 Merge pull request #12953 from dillaman/wip-18542
qa/tasks/qemu: update default image url after ceph.com redesign

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-01-17 10:03:11 +02:00
Mykola Golub
c4131810ef Merge pull request #12954 from dillaman/wip-rbd-coverity
rbd: correct coverity warnings

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-01-17 10:02:46 +02:00
Kefu Chai
88ed82f245 Merge pull request #12467 from bassam/pr-external-rocksdb
cmake: support for external rocksdb

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-17 13:53:01 +08:00
Jason Dillaman
275e89c55d rbd: correct coverity warnings
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-16 22:44:04 -05:00
Kefu Chai
c3aed5cdf9 Merge pull request #9028 from tchaikov/wip-bt-dump
common/BackTrace: add operator<<

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2017-01-17 11:20:54 +08:00
Jason Dillaman
6d17befb3b qa/tasks/qemu: update default image url after ceph.com redesign
Fixes: http://tracker.ceph.com/issues/18542
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-16 22:12:51 -05:00
Kefu Chai
d45f1ae7ad Merge pull request #12807 from runsisi/wip-fix-pg-ls
mon/PGMonitor: fix description for ceph pg ls

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-17 10:56:21 +08:00
runsisi
1852dd27b8 mon/PGMonitor: ceph pg ls-by-pool only supports string type of pool arg
Signed-off-by: runsisi <runsisi@zte.com.cn>
2017-01-17 09:56:40 +08:00
Yuri Weinstein
6886859cc2 Merge pull request #12928 from tmuthamizhan/wip-ansible-fs-suite
qa/suites/ceph-ansible: removing fs workunit

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
2017-01-16 16:55:34 -08:00
Mykola Golub
f8108395f9 librbd: helper methods to query and break lock
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-16 23:12:29 +01:00
Mykola Golub
91b72f0a2d librbd: managed_lock: make AcquireRequest use GetLockRequest and BreakRequest
Initially this was implemented for exclusive_lock (03533b9,
23f60fe) but was lost when merging managed_lock refactoring.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-16 23:12:29 +01:00
John Spray
81356114b0 Merge pull request #12915 from jcsp/wip-18361
client: populate metadata during mount

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-01-16 21:36:43 +00:00
Yuri Weinstein
f1618fe548 Merge pull request #12107 from mslovy/wip-monmsg-minwait
mon: no delay for single message MSG_ALIVE and MSG_PGTEMP

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 13:12:06 -08:00
Yuri Weinstein
d3fd1d43dd Merge pull request #11955 from batrick/log-2-to-1-write
log: use one write system call per message

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 13:10:09 -08:00
Yuri Weinstein
7fa1e05d1f Merge pull request #9924 from Yan-waller/yj-wiph-commonentitynamecc
common/config: fix return type of string::find and use string::npos


Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-16 13:09:05 -08:00
Yuri Weinstein
12a1e20721 Merge pull request #12925 from liewegas/wip-crypto-shutdown-fixes
common: misc fixes detected by crypto shutdown assert

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2017-01-16 13:07:32 -08:00
Yuri Weinstein
975edeec8d Merge pull request #12944 from liewegas/wip-centos-latest
qa/distros: make centos_latest 7.3

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
2017-01-16 12:31:28 -08:00
Yehuda Sadeh
947d99adfa Merge pull request #12841 from cbodley/wip-18407
rgw multisite: fix ref counting of completions

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-01-16 10:48:14 -08:00
Yehuda Sadeh
afa6cbf790 Merge pull request #12605 from cbodley/wip-18300
rgw: RGWMetaSyncShardCR drops stack refs on destruction

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-01-16 10:47:04 -08:00
Ricardo Dias
61af1c2501
librbd: allow to open an image without opening parent image
Fixes: http://tracker.ceph.com/issues/18325

Signed-off-by: Ricardo Dias <rdias@suse.com>
2017-01-16 18:25:58 +00:00
Bassam Tabbara
615b4b2600 cmake: support for external rocksdb
add support for building with an external rocksdb.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2017-01-16 09:33:32 -08:00
Jason Dillaman
7c55be9080 Merge pull request #12798 from wjwithagen/wip-wjw-krbd-optional
rbd: enable rbd on FreeBSD (without KRBD)

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-01-16 11:22:15 -05:00
Sage Weil
9ce0f7b0b2 Merge pull request #12930 from chendave/wip_cephx_refactor
msg: Revert the change from assert(0)-> ceph_abort() where is not applicable

Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-16 08:41:51 -06:00
Sage Weil
d22cdde36b qa/distros: make centos_latest 7.3
This will fix smithi runs and break vps runs until we get a 7.3 cloud-init
image ready.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-16 09:36:19 -05:00
Kefu Chai
af42f797b8 Merge pull request #12939 from johnlinp/fix-nspr-include
cmake: search for nspr include files for both suffixes: nspr4 and nspr

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 17:28:36 +08:00
John Lin
fbe78efd8a cmake: search for nspr include files for both suffixes: nspr4 and nspr
Fixes: http://tracker.ceph.com/issues/18535
Signed-off-by: John Lin <johnlinp@gmail.com>
2017-01-16 16:35:41 +08:00
Kefu Chai
7e93bf53ce Merge pull request #12936 from badone/wip-pg-states-doc-fix
doc: min_size advice is not helpful

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 14:52:38 +08:00
Brad Hubbard
9549943761 doc: min_size advice is not helpful
When we are in the incomplete state adjusting min_size will not help with recovery.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-01-16 12:36:33 +10:00
Kefu Chai
d644f911e6 Merge pull request #12247 from YankunLi/fix_bf_append_parameter
bufferlist: cleanup semantical wrong for bufferlist::append

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 09:55:14 +08:00
Kefu Chai
2ea4b94fe1 Merge pull request #12345 from rook/wip-embedded-add-rgw-mds
cmake: add RGW and MDS to libcephd

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 09:54:12 +08:00