Commit Graph

67692 Commits

Author SHA1 Message Date
Yan, Zheng
9b97554f0a mds: don't abort request that has already started slave operation
Access check and fragment size check can fail after start slave
operation. This causes mds to crash.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 15:23:35 +08:00
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
Mingxin Liu
57274488c0 mon: do not send duplicated osdmap msg to not sync'ed osd
prior to this change:
a peon may forward the pgstats to leader, and record it locally, but leader will
check if osd has the latest map before process, if not, will use a route op to
indicate peon to send it, then poen will delete routed op when fininaly send
out which make peon cannot send pgstatack when leader has processed the
pgstat update. so osd will always track it util reach a threshold block pgstats
sending, at worst, reopen mon session.
also, both leader and peon will send out the osdmap message to the osd.

after this change:
only the peon will send out the osdmap message. and the pgstatack message
will be routed to the osd as expected. so the osd will not keep track of the
"acked" pg stats in its queue forever before times out.

Fixes: http://tracker.ceph.com/issues/18458
Signed-off-by: Mingxin Liu <mingxin@xsky.com>
2017-01-10 11:14:02 +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
Casey Bodley
1d586f76a1 rgw: RGWAsyncRadosRequest drops notifier ref on cancel
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-01-09 11:30:50 -05:00
Casey Bodley
7a4975adba rgw: release RGWAioCompletionNotifier refs on destruction
Fixes: http://tracker.ceph.com/issues/18407
Fixes: http://tracker.ceph.com/issues/18414

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-01-09 11:28:17 -05: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