Commit Graph

86714 Commits

Author SHA1 Message Date
Yan, Zheng
7ea83df10e
qa/tasks/cephfs: add test for renewing stale session
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 5688476513)
2018-05-07 15:55:05 -07:00
Yan, Zheng
cf7eb8be34
client: invalidate caps and leases when session becomes stale
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: https://tracker.ceph.com/issues/23894
(cherry picked from commit 8b2e7d834c)
2018-05-07 15:55:05 -07:00
Yan, Zheng
9ab6703920
client: fix race in concurrent readdir
For a large directory, program needs to issue multiple readdir
syscalls to get all dentries. When there are multiple programs
read the directory concurrently. Following sequence of events
can happen.

 - program calls readdir with pos = 2. ceph sends readdir request
   to mds. The reply contains N1 entries. ceph adds these N1 entries
   to readdir cache.
 - program calls readdir with pos = N1+2. The readdir is satisfied
   by the readdir cache, N2 entries are returned. (Other program
   calls readdir in the middle, which fills the cache)
 - program calls readdir with pos = N1+N2+2. ceph sends readdir
   request to mds. The reply contains N3 entries and it reaches
   directory end. ceph adds these N3 entries to the readdir cache
   and marks directory complete.

The second readdir call does not update dirp->cache_index. ceph adds
the last N3 entries to wrong places.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/23894
(cherry picked from commit 01e23c178d)
2018-05-07 15:55:05 -07:00
Patrick Donnelly
e510e29e01
Merge PR #21712 into master
* refs/pull/21712/head:
	qa/tasks/cephfs: add test for renewing stale session
	client: invalidate caps and leases when session becomes stale
	client: fix race in concurrent readdir

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-07 15:53:32 -07:00
Patrick Donnelly
6383ecab93
Merge PR #21866 into mimic
* refs/pull/21866/head:
	mds: include nfiles/nsubdirs of directory inode in MClientCaps
2018-05-07 15:47:50 -07:00
Yan, Zheng
bbafea42d1
mds: include nfiles/nsubdirs of directory inode in MClientCaps
Directory inode's dirstat gets updated by request reply, but not by
cap message. This causes problem for following case.

1. MDS modifies a directory
2. MDS issues CEPH_CAP_ANY_SHARED to client
3. The client satifies stat(2) by its cached metadata.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/23855
(cherry picked from commit ee2c628f67)
2018-05-07 15:45:26 -07:00
Patrick Donnelly
260215fbb6
Merge PR #21688 into master
* refs/pull/21688/head:
	client: change vxattr flags field to unsigned int

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-07 15:43:45 -07:00
Patrick Donnelly
54d514a522
Merge PR #21668 into master
* refs/pull/21668/head:
	mds: include nfiles/nsubdirs of directory inode in MClientCaps

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-07 15:43:34 -07:00
David Galloway
42258c637a
Merge pull request #21858 from yuriw/wip-yuriw-crontab
qa/tests: fixed typo
2018-05-07 15:03:41 -04:00
Casey Bodley
fe32bf7dad
Merge pull request #21707 from cbodley/wip-qa-upgrade-ragweed
qa/rgw: move ragweed upgrade test into upgrade/luminous-x

Reviewed-by: Sage Weil <sage@redhat.com>
2018-05-07 12:21:01 -04:00
Volker Theile
fbf4c8dcbf
Merge pull request #21794 from rjfd/wip-dashboard-fix-awsauth
mgr/dashboard: awsauth: fix python3 string decode problem

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Lenz Grimmer <LGrimmer@suse.com>
2018-05-07 17:28:46 +02:00
Kefu Chai
cb8087dfac dpdk: drop dpdk submodule
we are using spdk/dpdk for async msgr's dpdk backend since 01a9f178. so
no need to keep dpdk submodule anymore.

Fixes: http://tracker.ceph.com/issues/24032
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-07 23:04:01 +08:00
Yuri Weinstein
52a03d6812 qa/tests: fixed typo
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2018-05-07 07:41:05 -07:00
Patrick Donnelly
574906d323
Merge PR #21857 into mimic
* refs/pull/21857/head:
	qa: move snap-hierarchy out of snaps workunits
	qa: try snap format upgrade with multimds cluster
	qa: add mds deactivation procedure for upgrades
2018-05-07 07:40:24 -07:00
Patrick Donnelly
c345968673
qa: move snap-hierarchy out of snaps workunits
The snapshot hierarchy it leaves behind can't be cleaned up by `rm -rf` which
breaks workunit cleanup. So, don't run this as part of normal snaps test.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 4d37b0ee8d)
2018-05-07 07:38:18 -07:00
Patrick Donnelly
4b03901218
qa: try snap format upgrade with multimds cluster
Fixes: http://tracker.ceph.com/issues/24002

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 0b466cb2e6)
2018-05-07 07:38:18 -07:00
Patrick Donnelly
34f395512a
qa: add mds deactivation procedure for upgrades
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 6a788bf203)
2018-05-07 07:38:18 -07:00
Ricardo Marques
4f59dac59b
Merge pull request #21784 from votdev/fix_rgw_backend
mgr/dashboard: Refactor RGW backend

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2018-05-07 15:27:19 +01:00
Rishabh Dave
16458025da rados.pyx: make all exceptions accept keyword arguments
Moving the code that makes exceptions accept keyword arguments from the
exception OSError to Error prevents a crash when exceptions not
inheriting OSError are received.

Fixes: http://tracker.ceph.com/issues/24033
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2018-05-07 13:00:21 +00:00
Sage Weil
1177e6bca8
Merge pull request #21839 from yuriw/wip-yuriw-crontab
qa/test: Added rados, rbd and fs to run two time a week only
2018-05-07 06:32:58 -05:00
Volker Theile
ad997b54c2 mgr/dashboard: Refactor RGW backend
- Do some polishing in the docs.
- Refactor RgwClient::is_service_online() method. The system is considered as online if the response structure is valid. The response content itself is not validated in this case.
- Relocate NoCredentialsException and derive it from RequestException.

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-05-07 11:58:25 +02:00
Ricardo Dias
ae2b702c9e
Merge pull request #21673 from votdev/refactor_perf_counters
mgr/dashboard: Refactor perf counters

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2018-05-07 10:12:04 +01:00
Kefu Chai
5ebb4be823
Merge pull request #21582 from jan--f/test-case-strtoll-hex
test/strtol: add test case for parsing hex numbers

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-05-07 17:06:48 +08:00
Volker Theile
ff8dfdd0a6 mgr/dashboard: Use HTTPS in dev proxy configuration
- After SSL support has been added to Ceph Dashboard via PR #21627, the developer HTTP proxy sample config must be adapted.
- Adapt HACKING.rst to use HTTPS.

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-05-07 11:03:27 +02:00
Li Wang
7037cf8f77 librados: return ENOENT if pool_id invalid
Signed-off-by: Li Wang <laurence.liwang@gmail.com>
2018-05-07 09:00:00 +00:00
Li Wang
95182a8de3 librados: check latest osdmap for pool_get_name
Signed-off-by: Li Wang <laurence.liwang@gmail.com>
2018-05-07 08:58:37 +00:00
Kefu Chai
ba3f82a46c test: silence -Wformat-truncation= warnings
this change silences following warnings:

: warning: ‘%s’ directive output may be truncated writing up to 127
bytes into a region of size between 109 and 119 [-W
format-truncation=]
     snprintf(m_id_str, SysTestRunnable::ID_STR_SZ, "process_%d%s",
m_id, extra);
                                                    ^~~~~~~~~~~~~~
~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-07 15:21:49 +08:00
Kefu Chai
b6fe1fec14 auth: silence -Wparentheses warning
this change silences following warning:

warning: unnecessary parentheses in declaration of ‘os’ [-Wparentheses]
   std::ostringstream(os);
                     ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-07 15:21:49 +08:00
Kefu Chai
4b99f88fac mds,messages: silence -Wclass-memaccess warnings
this change silences warnings like:

warning: ‘void* memset(void*, int, size_t)’ writing to an object of
non-trivial type ‘struct uuid_d’; use assignment instead [-Wcla
ss-memaccess]
   memset(&z.cluster_fsid, 1, sizeof(z.cluster_fsid));
                                                    ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-07 15:21:49 +08:00
Patrick Donnelly
dd68c2386c
MDSMonitor: clean up use of pending fsmap in uncommitted ops
Gist of this commit is to eliminate use of PaxosFSMap::get_working_fsmap which
allowed looking at the pending FSMap depending if it's the leader. Instead,
pass the FSMap being worked on to helper functions.

Also, ensure that we are only looking at the committed (i.e. current) FSMap
in the preprocess_* service methods.

Fixes: http://tracker.ceph.com/issues/23768

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-06 21:32:06 -07:00
Kefu Chai
9b8a74f037
Merge pull request #21748 from b-ranto/wip-fix-prom-shutdown
prometheus: Fix prometheus shutdown/restart

Reveiwed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2018-05-07 10:34:29 +08:00
Kefu Chai
a8150b1205
Merge pull request #21793 from b-ranto/wip-expose-objects
prometheus: Expose number of degraded/misplaced/unfound objects

Reveiwed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2018-05-07 10:33:03 +08:00
Kefu Chai
9df56dc509
Merge pull request #21837 from tchaikov/wip-gcc-8
cmake,common,filestore: silence gcc-8 warnings/errors

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2018-05-07 10:31:31 +08:00
Patrick Donnelly
1933bdf370
MDSMonitor: refactor last_beacons to use mono_clock
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-06 14:55:34 -07:00
Yuri Weinstein
35d72bab39 qa/test: Added rados, rbd and fs to run two time a week only
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2018-05-06 14:00:25 -07:00
Yuri Weinstein
5658547581
Merge pull request #21827 from yuriw/wip-yuriw-crontab
qa/tests: Added mimic runs, removed large suites (rados, rbd, etc) ru…

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-05-06 13:36:34 -07:00
Kefu Chai
3f3f378d38 os/filestore: silence -Wformat-truncation= warning
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 15:26:14 +08:00
Kefu Chai
68caa9da7e os/filestore: silence error from libstdc++ in gcc-8
this change silences following error

stl_tree.h:452:21: error: static assertion failed: comparison object
must be invocable with two arguments of key type
static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 15:26:14 +08:00
Kefu Chai
557cb06145 messages,mon,osd: silence gcc-8 warnings related to memset()
this silences warnings like:

warning: ‘void* memset(void*, int, size_t)’ writing to an object of
non-trivial type ‘struct uuid_d’; use assignment instead [-Wcl\
ass-memaccess]

uuid_d only contains boost::uuids::uuid, which is "nil" initialized in
uuid_d's ctor. so we don't need to bother with memset() it with 0.
the same applies to entity_inst_t.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 15:26:14 +08:00
Kefu Chai
62382040ee common,filestore: silence GCC-8 warnings
should catch polymorphic exceptions by reference. this silences warnings
like:

error: catching polymorphic type ‘class std::RetryException’ by value
[-Werror=catch-value=]
     } catch (std::RetryException) {

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 15:26:14 +08:00
Kefu Chai
19230378c8 cmake: specify missing settings for dpdk
* after upgrading to gcc-8, seems dpdk requires more settings to compile.
  in which, CONFIG_RTE_MAX_VFIO_GROUPS=64 is copied from config/common_base.
* librte_bus_pci.a depends on librte_pci.a, so reorder the libraries
  in DPDK_LIBRARIES.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 15:26:14 +08:00
Jason Dillaman
4f2dbcefc5 rbd-mirror: fix potential race between image sync and shut down
Fixes: http://tracker.ceph.com/issues/24008
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-05-05 23:44:34 -04:00
Kefu Chai
c17e3d8346
Merge pull request #21637 from ceph/wip-da-SCA-20180423
misc: mark constructors as explicit

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-05-06 11:34:52 +08:00
Kefu Chai
1a87441de1
Merge pull request #19041 from dragonylffly/wip-list-objects-in-a-pg
tools/rados: allow list objects in a specific pg in a pool

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-05-06 11:33:47 +08:00
Kefu Chai
4ad013c536
Merge pull request #21765 from yunfeiguan/wip-23962
pybind/ceph_daemon: expand the order of magnitude of daemonperf statistics to ZB

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-05-06 11:29:26 +08:00
xiexingguo
d48b9b8d6c crush, osd: handle multiple parents properly when applying pg upmaps
Fixes: http://tracker.ceph.com/issues/23921
Signed-off-by: xiexingguo <xie.xingguo@gmail.com>
(cherry picked from commit 482ec97c98107be20c9ca1f34636323703ecfa5c)
2018-05-06 11:26:10 +08:00
Kefu Chai
3d6429753e
Merge pull request #21815 from xiexingguo/wip-23921
crush, osd: handle multiple parents properly when applying pg upmaps

Reviewed-by: huangjun <hjwsm1989@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2018-05-06 11:25:36 +08:00
Kefu Chai
87c000bf49
Merge pull request #21832 from tchaikov/mimic-23627
librados: block MgrClient::start_command until mgrmap

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-05-06 11:23:47 +08:00
Kefu Chai
c16371965c osdc: guard op->on_notify_finish with lock
Fixes: http://tracker.ceph.com/issues/23966
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-06 11:13:02 +08:00
Patrick Donnelly
7be74fd004
mds: refactor MDSMap init
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-05-05 20:06:07 -07:00