Commit Graph

78328 Commits

Author SHA1 Message Date
Sage Weil
c1a6fe52d3 Merge pull request #17644 from Vogtinator/readme-vstart
README: Improve vstart.sh usage
2017-09-12 21:03:42 -05:00
yaoguotao
e612d9506e os/filestore/HashIndex.h: fixed a clerical error
Signed-off-by: yaoguotao <yaoguot@gmail.com>
2017-09-12 21:59:53 -04:00
Luo Kexue
3a1ea8d5e0 pybind/ceph_argparse: fix cli output info
Signed-off-by: Luo Kexue <luo.kexue@zte.com.cn>
2017-09-13 09:03:06 +08:00
Sage Weil
25ba984310 Merge pull request #17654 from yuyuyu101/wip-spdk-doc
doc/bluestore: add SPDK usage for bluestore

Reviewed-by: Sage Weil <sage@redhat.com>
2017-09-12 18:56:25 -05:00
Sage Weil
c959911ce2 Merge pull request #17658 from ukernel/wip-cephfs-seekdir
doc/cephfs/posix: remove stale information for seekdir

Reviewed-by: Sage Weil <sage@redhat.com>
2017-09-12 18:54:29 -05:00
Sage Weil
a98b37a7a0 Merge pull request #17669 from ygtzf/parameter-default-value-error
doc: update default value of parameter mon_subscribe_interval

Reviewed-by: Sage Weil <sage@redhat.com>
2017-09-12 18:39:14 -05:00
Sage Weil
dd84417c61 Merge pull request #17672 from FrankYu/master
doc: the client inputs the pool name instead of pool ID

Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2017-09-12 18:36:59 -05:00
Patrick Donnelly
f48113f50f
Merge PR #17679 into master
* refs/remotes/upstream/pull/17679/head:
	qa: get asok path from ceph.conf
	qa: use config_path property instead of literal

Reviewed-by: John Spray <john.spray@redhat.com>
2017-09-12 15:56:32 -07:00
Patrick Donnelly
bc3a00af0f
qa: get asok path from ceph.conf
The asok path was recently moved to /tmp to resolve unix path too long errors.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:52:54 -07:00
Patrick Donnelly
f95798b3ad
qa: use config_path property instead of literal
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:50:33 -07:00
Patrick Donnelly
12d615b3c5
common: refactor of lru
Avoids an unnecessary "max" size of the LRU which was used to calculate the
midpoint. Instead, just dynamically move the LRUObjects between top and bottom
on-the-fly.

This change is necessary for a cache which which does not limit by the number
of objects but by some other metric. (In this case, memory.)

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:24 -07:00
Patrick Donnelly
0c2032c287
mds: resolve unsigned coercion compiler warning
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:24 -07:00
Patrick Donnelly
0ddd260a32
common: use safer uint64_t for list size
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:23 -07:00
Patrick Donnelly
7fff24e10e
common: add bytes2str pretty print function
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:23 -07:00
Patrick Donnelly
055020ce80
mds: check if waiting is allocated before use
This prevents accidental allocation of the map.

Also, privatize the variable to protect from this in child classes.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:23 -07:00
Patrick Donnelly
5d67b5cc57
mds: go back to compact_map for replicas
Zheng observed that an alloc_ptr doesn't really work in this case since any
call to get_replicas() will cause the map to be allocated, nullifying the
benefit. Use a compact_map until a better solution can be written. (This means
that the map will be allocated outside the mempool.)

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:23 -07:00
Patrick Donnelly
e035b64fcb
mds: use mempool for cache objects
The purpose of this is to allow us to track memory usage by cached objects so
we can limit cache size based on memory available/allocated to the MDS.

This commit is a first step: it adds CInode, CDir, and CDentry to the mempool
but not all of the containers in these classes (e.g. std::map). However,
MDSCacheObject has been changed to allocate its containers through the mempool
by converting compact_* containers to the std versions offered through mempool
via the new alloc_ptr.

(A compact_* class simply wraps a pointer to the std:: version to reduce memory
usage of an object when the container is only occasionally used. The alloc_ptr
allows us to achieve the same thing explicitly with only a little handholding:
when all entries in the wrapped container are deleted, the caller must call
alloc_ptr.release().)

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:23 -07:00
Patrick Donnelly
d1b6cadd6c
mds: cleanup replica_map access
The gymnastics protecting the map failed as the code evolved. Just expose it
normally with a getter.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:22 -07:00
Patrick Donnelly
5fa557d271
common: add alloc_ptr smart pointer
This ptr is like a unique_ptr except it allocates the underlying object on
access. The idea being that we can save memory if the object is only needed
sometimes.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:46:12 -07:00
John Spray
1bd080fcae mon: remove mdsmap-derived perf counters
Stats collectors that want this kind of information should
be looking at the cluster maps to get it.

Reasoning:
 - It's confusing to have two places to get at this sort of status
 - In the CephFS case, these counters were not that useful as they
   globbed all filesystems together.
 - It's awkward to have these stats output as perf counters of
   ceph-mon daemons, where a naive TSDB collector will not understand
   that they are really cluster-wide things.

Inspired by: http://tracker.ceph.com/issues/21311

Signed-off-by: John Spray <john.spray@redhat.com>
2017-09-12 23:45:32 +01:00
Tamilarasi Muthamizhan
4d8971e1c8 Merge pull request #17650 from ceph/wip-ceph-deploy-fix
qa/tests: Fix get_system_type failure due to invalid remote name
2017-09-12 15:07:24 -07:00
amitkuma
143a92e85c messages: Initilization of left memebers
Fixes the coverity issues:

** 717282 Uninitialized scalar field
CID 717282 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member seq is not initialized
in this constructor nor in any functions that it calls.

** 717287 Uninitialized scalar field
CID 717287 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member tid is not initialized
in this constructor nor in any functions that it calls.

** 717288 Uninitialized scalar field
CID 717288 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member bits is not initialized
in this constructor nor in any functions that it calls.

** 717290 Uninitialized scalar field
CID 717290 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized
in this constructor nor in any functions that it calls.

Signed-off-by: Amit Kumar <amitkuma@redhat.com>
2017-09-13 00:22:15 +05:30
amitkuma
7bb7fa9234 messages: Initialization of member variables
Fixes the coverity issues:

** 717279 Uninitialized scalar field
CID 717279 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member caps is not initialized
in this constructor nor in any functions that it calls.

** 717280 Uninitialized scalar field
2. uninit_member: Non-static class member action is not initialized
in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member asker is not initialized
in this constructor nor in any functions that it calls.
CID 717280 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
6. uninit_member: Non-static class member lock_type is not initialized
in this constructor nor in any functions that it calls.

** 717281 Uninitialized scalar field
CID 717281 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member last is not initialized
in this constructor nor in any functions that it calls.

Signed-off-by: Amit Kumar <amitkuma@redhat.com>
2017-09-13 00:11:59 +05:30
Mykola Golub
30c92d0a17 Merge pull request #17636 from dillaman/wip-21319
rbd: clean up warnings when mirror commands used on non-setup pool

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-09-12 21:17:19 +03:00
Douglas Fuller
eba01c48ca qa/tasks/cephfs: Whitelist POOL_APP_NOT_ENABLED for test_misc
test_misc verifies that ceph fs new will not create a filesystem
on a pool that already contains objects. As part of the test, it
inserts a dummy object into a pool and then attempts to use it for
CephFS. This triggers POOL_APP_NOT_ENABLED. Setting the application
metadata for the pool (and having ceph fs new fail because of the
existing metadata) would then exercise a different failure case.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-09-12 13:22:09 -04:00
Neha Ojha
59531d81c5 qa: avoid using make install for fio
Signed-off-by: Neha Ojha <nojha@redhat.com>
2017-09-12 08:26:27 -07:00
Frank Yu
94af0d3ea4 doc: the client inputs the pool name instead of pool ID
Signed-off-by: Frank Yu <flyxiaoyu@gmail.com>
2017-09-12 23:04:14 +08:00
Kefu Chai
985978e301 Merge pull request #13383 from wonzhq/wip-update-calc-stats
osd: change the conditional in _update_calc_stats

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-09-12 22:51:33 +08:00
Kefu Chai
fe9196f240 Merge pull request #17640 from tchaikov/wip-diagram-py3
doc/scripts: py3 compatible

Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Alfredo Deza <adeza@redhat.com>
2017-09-12 21:35:13 +08:00
yaoguotao
d121f5619b doc: update default value of parameter mon_subscribe_interval
Signed-off-by: yaoguotao <yaoguot@gmail.com>
2017-09-12 05:09:10 -04:00
Zhi Zhang
e71659b11a tools/ceph-objectstore-tool: split filestore directories offline to target hash level
Currently ceph-objectstore-tool can only split dirs that already
meet the usual object number criteria. It won't reduce the cost of
online split for those dirs that would meet the criteria online.

This change uses 'arg1' option for apply-layout-settings to specify
the target hash level wants to split to. Then dirs will be split
offline no matters how many objects they have. This also helps
those pools that forgot to do pre-splitting at their creation time.

Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
2017-09-12 14:49:31 +08:00
Kefu Chai
d254d07dba Merge pull request #17639 from tchaikov/wip-doc-ceph-disk
doc: update ceph-disk with a state-transition diagram

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2017-09-12 12:42:14 +08:00
lu.shasha
dcef8555e1 rgw: LCFilter_S3::to_xml the second "prefix" missed "/"
Signed-off-by: Shasha Lu <lu.shasha@eisoo.com>
2017-09-12 11:19:44 +08:00
David Zafman
44f51024cc Merge pull request #17538 from dzafman/wip-21272
Add export and remove ceph-objectstore-tool command option

Reviewed-by: Sage Weil <sage@redhat.com>
2017-09-11 20:12:27 -07:00
Haomai Wang
537674b786 doc/bluestore: add SPDK usage for bluestore
Signed-off-by: Haomai Wang <haomai@xsky.com>
2017-09-11 20:11:29 -07:00
Sage Weil
c54602caa4 Merge pull request #17537 from mychoxin/yuanxin_remove_submit
os/bluestore: remove useless function submit

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
2017-09-11 21:05:25 -05:00
Yan, Zheng
f27bf0ce54 doc/cephfs/posix: remove stale information for seekdir
Current cephfs can support seekdir efficiently. The diverge was
fixed by https://github.com/ceph/ceph/pull/14317

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-09-12 09:49:34 +08:00
Ziye Yang
15116aa462 src/bluestore/NVMEDevice: make all read use aio_submit
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Signed-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>
2017-09-12 07:55:21 +08:00
Ziye Yang
3d5140e663 os/bluestore/NVMEDevice: fix the large write I/O issue.
When there is large I/O, we need to split it into multiple
tasks. With this patch, we can avoid no buffer allocation
issue for the single write task.

Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Signed-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>
2017-09-12 05:53:53 +08:00
Alfredo Deza
e5e50f75ce Merge pull request #17606 from ceph/wip-bz1478598
ceph-volume allow filtering by `uuid`, do not require osd id 

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2017-09-11 15:44:42 -04:00
Patrick Donnelly
ce22e48cab
client: use unsigned trim_caps count
Resolves gcc warning:

    /home/pdonnell/ceph/src/client/Client.cc: In member function ‘void Client::trim_caps(MetaSession*, int)’:
    /home/pdonnell/ceph/src/client/Client.cc:4120:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if (s->caps.size() > max)
                          ^

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-11 12:14:22 -07:00
amitkuma
bc4254ebf2 messages: Initialization of variable beat
Fixes the coverity issue:

** 717278 Uninitialized scalar field

CID 717278 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member beat is not
initialized in this constructor nor in any functions that it calls.

Signed-off-by: Amit Kumar <amitkuma@redhat.com>
2017-09-12 00:09:00 +05:30
Alfredo Deza
ecd5af88da ceph-volume lvm.trigger just split the osd_id once
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-09-11 14:21:34 -04:00
Alfredo Deza
5392697121 ceph-volume tests catch improper parsing of osd uuid
When the osd ID existed in the UUID in the same format (e.g. '1-') the
parsing would break returning a bogus UUID that is impossible to find

Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-09-11 14:21:33 -04:00
Andrew Schoen
f41d359eba tests: remove 'ceph-' prefix from test node hostnames
This updates our Vagrantfile to match the changes in ceph-ansible
introduced by https://github.com/ceph/ceph-ansible/commit/298a63c43

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-09-11 14:21:33 -04:00
Alfredo Deza
b8613c1d7b ceph-volume lvm.api PVolumes should filter by all matching tags, not just one
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-09-11 14:21:33 -04:00
Alfredo Deza
120fd6a196 ceph-volume tests pv API should also match all pv_tags
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-09-11 14:21:33 -04:00
Alfredo Deza
fe2a7106de ceph-volume tests prove all volume tags have to match in vgs
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-09-11 14:21:33 -04:00
Casey Bodley
34a374048c Merge pull request #17377 from cbodley/wip-rgw-test-multi-encryption
test/rgw: fix test_encrypted_object_sync for 3+ zones

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-09-11 13:42:00 -04:00
Sage Weil
3b4a9d04be Merge pull request #17102 from mychoxin/yuanxin_print_log_if_add_event_fail
msg/async: print error log if add_event fail

Reviewed-by: Pan Liu <liupan1111@gmail.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
2017-09-11 11:42:44 -05:00