Commit Graph

67577 Commits

Author SHA1 Message Date
Yan, Zheng
5b832aa5b6 mds: use locked dentry trace to compose slave rmdir/rename request
{rmdir/rename}_prepare_witness() use full path to compose slave
requests. But they do not lock all dentries in the path. So someone
else changes the unlocked dentry and causes path travsese of slave
request to fail.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
da1e2614ab mds: add replicas of destdn to rename witness list
it's possible that null dentry is replicated

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
276d12547f mds: properly put unexpired dentry back to lru
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
c94a2c429e mds: cleanup Server::rdlock_path_xlock_dentry
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
530bd6e67a mds: add -ESTALE recovery code for unlink/rmdir
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
dbc579778f mds: limit number of pending exports when thash exports is enabled
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
6ae33aace1 mds: make MDCache::show_subtree less verbose when thrash exports is enabled
Subtree map can be very large when thrash exports is enabled.
Printing subtree map causes size log to increase quickly.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:34 +08:00
Yan, Zheng
a4e5ad2ff4 mds: don't journal inode when merging subtrees
When doing subtree migration or cross subtree rename, we rdlock
fragtreelock of subtree boundaries' inodes. rdlock fragtreelock
has already journaled dirfragtree updates. I can't see why we
need to journal it again when merging subtrees.

The resaon I want to remove this code is that it can journal
unconnected dirfrag in the Migrator::export_reverse() case.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:30 +08:00
Yan, Zheng
2b7dd50667 mds: fix MDSMap::is_rejoining()
the function checks if all recovering mds reach rejoin state. It
need to consider damaged mds set.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:19:23 +08:00
Yan, Zheng
3eb1b7bc04 mds: remove stale warning in log replay code
we don't re-fill prealloc_inos each time a prealloc ino get used

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:19:23 +08:00
Yan, Zheng
60b22247c6 mds: don't modify session->info before ESession get journaled
Server::journal_close_session() modifies session->info before
corresponding ESession get journaled. It's possible the updated
session gets saved to sessionmap before Server::_session_logged()
increases sessionmap's version. This confuses the journal replay
code.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:19:23 +08:00
Brad Hubbard
1e8e754007 config: Improve warning for unobserved value
When a variable is not being observed we currently mark it
"unchangable". This can be misleading so try something hopefully a
little more informative.

Fixes: http://tracker.ceph.com/issues/18424
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-01-10 15:35:19 +10:00
Haomai Wang
0bf9c6242e Merge pull request #12854 from liupan1111/wip-fix-async-dpdk-issue
async: fixed coredump when enable dpdk.

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-01-10 13:09:40 +08:00
Pan Liu
96046f53e9 async: fixed coredump when enable dpdk.
Signed-off-by: Pan Liu <pan.liu@istuary.com>
2017-01-10 11:58:23 +08:00
xie xingguo
01ff6bf51a os/bluestore: kill orphan declaration of do_write_check_depth()
The gc logic is gone and this is not relevant anymore.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-01-10 11:47:36 +08:00
Yan, Zheng
80dae314ee mds: finish clientreplay requests before requesting active state
All clientreplay requests' finish contexts should be executed
before MDCache::export_remaining_imported_caps(). Otherwise
MDCache::try_reconnect_cap() may fail to reconnect client caps.

Fixes: http://tracker.ceph.com/issues/18461
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 11:37:14 +08:00
Samuel Just
dd48b972af PrimaryLogPG::failed_push: update missing as well
This way, pick_newest_available should do the right thing.

Fixes: http://tracker.ceph.com/issues/18165
Signed-off-by: Samuel Just <sjust@redhat.com>
2017-01-09 18:48:31 -08:00
Jason Dillaman
59c0108241 Merge pull request #12849 from xiexingguo/xxg-wip-fix-compile-crash
librados: fix compile errors from simplified aio completions

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-01-09 21:45:41 -05:00
Mingxin Liu
ecb967a8ac mon: we may track a self-initiated message, recv_stamp remain unset
so using ceph_clock_now() instead to make optracker happy

Signed-off-by: Mingxin Liu <mingxin@xsky.com>
2017-01-10 10:39:07 +08:00
Kefu Chai
327791feac Merge pull request #9032 from tchaikov/wip-15786
doc: document repair/scrub features

Reviewed-by: David Zafman <dzafman@redhat.com>
2017-01-10 10:23:39 +08:00
xie xingguo
8b64515d1c librados: fix building crash
See https://github.com/ceph/ceph/pull/12607

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-01-10 10:01:54 +08:00
Vasu Kulkarni
127e29e1be Remove debug overrides
the high level of debug for mon/osd is causing remoto to hang during get key

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2017-01-09 17:59:20 -08:00
David Zafman
1e26f4e511 ceph-objectstore-tool: Handle object names that are also valid json
Treat an argument that happens to be json but doesn't conform to our requirements
as an object name.

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-01-09 17:34:12 -08:00
Vasu Kulkarni
2d6c3fa8b2 Add ceph-create-keys to explicitly create admin/bootstrap keys
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2017-01-09 17:14:33 -08:00
Yan, Zheng
4cdeeaac10 qa/tasks/cephfs: fix kernel force umount
Fixes: http://tracker.ceph.com/issues/18396
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 08:31:25 +08:00
Jason Dillaman
e66c1faa04 librbd: potential nullptr dereference in ManagedLock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 17:40:42 -05:00
Sage Weil
d4f033c687 Merge pull request #12726 from liewegas/wip-18372
osd: _exit() intead of exit() for failure injection

Reviewed-by: Samuel Just <sjust@redhat.com>
2017-01-09 16:24:22 -06:00
Sage Weil
25c9910503 Merge pull request #12607 from liewegas/wip-librados-killack
librados,osdc: kill ack vs commit distinction

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2017-01-09 16:17:43 -06:00
Sage Weil
4ca7757e4a Merge pull request #12695 from hjwsm1989/mark-unfound-lost
osd/PrimaryLogPG: optimal pick_newest_available

Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-09 16:17:07 -06:00
Sage Weil
0a3a8cd58a Merge pull request #12724 from kylinstorage/wip-fix-coverity-warning-for-uninitialized-members
osd: fix coverity warning for uninitialized members

Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-09 16:14:52 -06:00
Sage Weil
93d7a21e42 Merge pull request #12725 from liewegas/wip-bluestore-bluefs-reclaim
os/bluestore/BlueFS: fix reclaim_blocks

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Varada Kari <varada.kari@sandisk.com>
2017-01-09 16:07:15 -06:00
Sage Weil
cc6d926d3c Merge pull request #12727 from liewegas/wip-18369
osd/PG: publish PG stats when backfill-related states change

Reviewed-by: Samuel Just <sjust@redhat.com>
2017-01-09 16:05:30 -06:00
Jason Dillaman
c253b88713 librbd: rewatch complete callback should be invoked w/o lock
It's currently being incorrectly invoked twice -- but the direct
callback is holding the Watcher lock. This results in a recursive
lock when ManagedLock attempts to retrieve the watch id from the
Watcher.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 12:56:00 -05:00
Mykola Golub
27465b5916 librbd: metadata_set API operation should not change global config setting
Fixes: http://tracker.ceph.com/issues/18465
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-09 18:53:49 +01:00
Mykola Golub
006138e2d8 test/librbd: add break_lock test
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-09 18:25:57 +02:00
Casey Bodley
e0acce4953 Merge pull request #12731 from oritwas/wip-rgw-realm-set
rgw realm set fixes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-01-09 10:54:15 -05:00
Ricardo Dias
69f8146299
rbd: fix template specialization of PromoteRequest class
Signed-off-by: Ricardo Dias <rdias@suse.com>
2017-01-09 15:22:30 +00:00
Jason Dillaman
778e1126a0 librbd: delay mirror registration when creating clones
Fixes: http://tracker.ceph.com/issues/17993
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 09:21:41 -05:00
Mykola Golub
5fc5a8ac89 rbd-mirror: check image mirroring state when bootstrapping
Fixes: http://tracker.ceph.com/issues/18447
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-09 15:20:45 +01:00
Mykola Golub
0a1cb35caa rbd-mirror: async request to test if image is primary
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-09 15:20:45 +01:00
Jason Dillaman
b95f92a557 librbd: possible deadlock with flush if refresh in-progress
Fixes: http://tracker.ceph.com/issues/18419
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 09:06:36 -05:00
Jason Dillaman
d30873b269 rbd-mirror: avoid processing new events after stop requested
Fixes: http://tracker.ceph.com/issues/18441
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 09:05:34 -05:00
Mykola Golub
82aa89668d rbd-mirror: hold owner lock when testing if lock owner
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-01-09 15:05:05 +01:00
John Spray
30cfc81bdc Merge pull request #12274 from ukernel/wip-multimds-misc
mds: misc multimds fixes

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2017-01-09 13:05:51 +00:00
Jason Dillaman
1b2b637bb5 librbd: merge managed lock refactor
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-01-09 08:01:22 -05:00
Wei Jin
2b9d50d144 msg/async: clean Processor constructor
Signed-off-by: Wei Jin <wjin.cn@gmail.com>
2017-01-09 19:12:41 +08:00
Wei Jin
23daf45c8d msg/async: clean idx
the initial value is misleading as event center's id was changed to
the index in the worker vector.

Signed-off-by: Wei Jin <wjin.cn@gmail.com>
2017-01-09 19:10:07 +08:00
John Spray
6542a2e0d0 Merge pull request #12588 from jcsp/wip-18311
mds: check for errors decoding backtraces

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2017-01-09 11:02:32 +00:00
John Spray
96375cd7bb Merge pull request #12580 from Liuchang0812/fix-clang-warn-client
client: fix clang warn of "argument is an uninitialized value"

Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-09 11:02:02 +00:00
John Spray
a1c8e510a8 libcephfs: fix cct refcount constructing from rados
This get() made sense before ceph_mount_info did its
own reference acquisition on the context object.

Follow up to:
a567fa66 libcephfs.cc: fix memory leak

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-09 10:45:44 +00:00