Commit Graph

53063 Commits

Author SHA1 Message Date
Sage Weil
4d10cb86bd Merge pull request #8922 from runsisi/wip-fix-lockdep-assert
lockdep: fix assertion expression if ran out of lock ids

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-09 09:13:26 -04:00
Sage Weil
c68357f0cf Merge pull request #8967 from liewegas/wip-15760
osdc/Objecter: upper bound watch_check result

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 09:12:49 -04:00
Sage Weil
a28b71e3c9 Merge pull request #8357 from liewegas/wip-osd-prestart
osd: update crush_location from ceph-osd on startup

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-05-09 08:59:05 -04:00
Sage Weil
0a6d0c61d7 Merge pull request #8194 from tanghaodong25/fix_4
os/bluestore/KernelDevice.cc: small fix in buffer flush

Reviewed-by: Haomai Wang <haomai@xsky.com>
2016-05-09 08:58:33 -04:00
Sage Weil
bfa5461265 Merge pull request #8349 from Aran85/prepare_entry_cleanup
os/filestore: prepare entry cleanup

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-09 08:57:51 -04:00
Sage Weil
d2cab3a898 osd: create osd id if it does not exist
Most tools create the osd id before trying to start ceph-osd.  Notably,
teuthology does not.  We could fix that, but we would be changing behavior,
as the osd boot will happily create the osd id on the fly for us.  Other
provisioning tools might rely on that behavior.  Instead, just allocate
the id sooner in the process (if necessary).

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:55:00 -04:00
Sage Weil
cf4ec5a8aa osd: change osd_crush_initial_weight = 0 to mean weight to 0
Negative now means auto-weight, 0 means weight to 0.  Change the
default accordingly.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:55:00 -04:00
Sage Weil
573c349245 osd: update crush_location on startup from ceph-osd
Update the crush location from ceph-osd instead of relying on
kludgey bash in ceph-osd-prestart.sh.  Among other things, this
lets us get accurate statfs information from the ObjectStore
implementation instead of relying on 'df'.

Fixes: http://tracker.ceph.com/issues/15213
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:54:44 -04:00
Sage Weil
4587a379a3 osdc/Objecter: use cct's crush_location
Keep the observer so that we refresh our copy of the multimap.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:54:44 -04:00
Sage Weil
db6e9bedf1 global: init crush_location on daemon start
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:54:44 -04:00
Sage Weil
3d71eda4b8 common/ceph_context: add CrushLocation to cct
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:54:44 -04:00
Sage Weil
6216461915 crush/CrushLocation: add class to manage crush_location
The crush_location can come from an explicitly set config,
a hook, or a simple fabricated default (root=default host=...).

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-09 08:54:44 -04:00
Sage Weil
7a17863c73 Merge pull request #8684 from vuhuong/wip-radosaio-copyout-data-xio
librados: copy out data to users' buffer for xio

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
2016-05-09 08:52:56 -04:00
Sage Weil
01a40155a7 Merge pull request #8759 from xiexingguo/xxg-wip-fixobjecterrace
osdc/Objecter: fix race condition for sortbitwise flag detection

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-09 08:51:30 -04:00
Sage Weil
99295cab83 Merge pull request #8826 from liewegas/wip-bluestore-bitmap-freelist
os/bluestore: bitmap-based freelist using merge operator

Reviewed-by: Allen Samuels <allen.samuels@sandisk.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-09 08:50:23 -04:00
Sage Weil
646a6a28c3 Merge pull request #8912 from markhpc/wip-promote-throttle-fix
osd: fix reversed promote throttle default parameters

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 15:13:56 -04:00
Sage Weil
cdae4a3011 Merge pull request #8902 from xiexingguo/xxg-wip-cheanup-osdmon
mon/OSDMonitor: kill dead code

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-06 15:13:26 -04:00
Sage Weil
83ae5d6ab3 Merge pull request #8290 from yangdongsheng/chain_xattr
Fix unittest for chain_xattr.

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2016-05-06 15:13:01 -04:00
Sage Weil
702f523228 Merge pull request #8173 from ceph/buffer-api-visibility
buffer: fix iterator_impl visibility through typedef

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-05-06 15:12:08 -04:00
Sage Weil
a99fae9dc1 Merge pull request #8289 from majianpeng/bluestore-zero-clear-tail-cache
os/bluestore/BlueStore: For _zero, check whether clear tail_bl.

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-06 15:11:31 -04:00
Samuel Just
b158fa6f5a Merge pull request #8977 from liewegas/wip-ceph-tool
qa/workunits/rados/test_rados_tool: fix copy paste error

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-05-06 12:01:35 -07:00
Gregory Farnum
8cbfb00d4c Merge pull request #8388 from dreamhost/wip-buildfix-mds-test
mds: build fix for LIBMDS consumer.

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-05-06 11:57:44 -07:00
Sage Weil
7f1bc1b038 qa/workunits/rados/test_rados_tool: fix copy paste error
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 14:54:41 -04:00
Jason Dillaman
a122569dfd tests/rbd: add option to leave behind fsx test data
tests/rbd: add option to leave behind fsx test data

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-05-06 13:42:04 -04:00
Douglas Fuller
c33d0cbcd0 tests/rbd: add option to leave behind fsx test data
Previously, fsx deleted all test data upon successful completion. Add
an option to leave the data behind for further analysis.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2016-05-06 10:36:00 -07:00
Kefu Chai
73e22784dd Merge pull request #8936 from bstillwell/manual-install-doc-fixes1
doc: install/manual-deployment: use sudo on some commands

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-05-07 00:55:21 +08:00
Sage Weil
9fb8b103de Merge pull request #8950 from stiopaa1/osd_passSharedByRef_shouldsharemap
osd/OSD: pass shared pointer by const reference

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-06 11:49:36 -04:00
Kefu Chai
80b6660abd Merge pull request #8962 from beess/doc-fix1
doc: Fixes three hyphen errors and a syntax error.

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-05-06 22:03:11 +08:00
Sage Weil
c73b2f408c Merge pull request #8934 from liewegas/wip-bluestore-extent-flags
os/bluestore: drop transient extent flags

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 09:25:11 -04:00
Sage Weil
2e2ce36586 osdc/Objecter: upper bound watch_check result
This way we always return a safe upper bound on the amount of time
since we did a check.  Among other things, this prevents us from
returning a value of 0, which is confusing.

Fixes: http://tracker.ceph.com/issues/15760
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 09:09:43 -04:00
Sage Weil
4e534ab8cf Merge pull request #8607 from ceph/wip-15372
msg/async: add missing DelayedDelivery and delay injection
2016-05-06 08:21:14 -04:00
Boris Ranto
3637676bfa Merge branch 'sharkcz-optional-tcmalloc'
Reviewed-by: Boris Ranto <branto@redhat.com>
2016-05-06 13:46:25 +02:00
Dan Horák
efa7f7b365 fix tcmalloc handling in spec file
- there is no gperftools/tcmalloc on s390(x) yet
- explicitly disable tcmalloc when built without

Signed-off-by: Dan Horák <dan@danny.cz>
2016-05-06 13:45:30 +02:00
xie xingguo
4c58365ca3 doc/rgw: fix hyperlinks which can't work
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 13:44:19 +02:00
xie xingguo
0210745309 doc/rgw: hyperlink of "Ceph Object Gateway" doesn't work
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 13:44:19 +02:00
Brad Hubbard
f8f260133b cmake: Remove redundant call to get_processors
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-05-06 13:44:19 +02:00
Sage Weil
efedfffe04 osd: remove useless set_role from split completion
This is done by PG::split_into().

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:19 +02:00
Sage Weil
c8be0f7129 osd: respect shard when setting role on new pgs
This matches PG::start_peering_interval().

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:18 +02:00
Sage Weil
33a2e3797d osd: pay attention to shard when setting role
This matches start_peering_interval().

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:18 +02:00
Chendi.Xue
dbe0e470de create and check omap fsid
1. write osd_uuid to omap dir when doing filestore mkfs
2. check if omap fsid matches osd fsid when doing filestore mount
   (if there is no osd_uuid under omap, assume this as match)

Signed-off-by: Chendi.Xue <chendi.xue@intel.com>
2016-05-06 13:44:18 +02:00
Chendi Xue
9a5109a6ab Added option to deploy omap to a separate device(path)
In the HDD as OSD, SSD as journal test, we saw a great
throughput improvement if moving omap to a SSD device at
randwrite case.

This patch aim to add a config option 'filestore_omap_backend_path'
for users to configurate omap path before deploy.

Signed-off-by: Chendi Xue <chendi.xue@intel.com>
2016-05-06 13:44:18 +02:00
Igor Fedotov
520ef71e0a ObjctStore: More accurate disk space usage calculation when considering 'whiteout'/empty/small objects.
This also adds cache protection against potential overflow with removed objects

Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-05-06 13:44:18 +02:00
Yan, Zheng
63e44e3297 msg/simple/Pipe: avoid infinite loop in Pipe::do_recv()
I found that, sometimes an OSD thread uses 100% CPU after cutting network
between OSD and client. recv(2) in Pipe::do_recv() keeps returning -EAGAIN,
which causes infinite loop. the call trace is:

 Pipe::do_recv (...)
 Pipe::buffered_recv (...)
 Pipe::tcp_read_nonblocking (...)
 Pipe::tcp_read (...)

Pipe::tcp_read() first calls Pipe::tcp_read_wait() to check if data is
avaliable. If there are prefetched data, Pipe::tcp_read_wait() return
immediately. Pipe::buffered_recv() is called, which reads data from the
prefetched data. If prefetched data isn't enough, Pipe::buffered_recv()
calls Pipe::do_recv() to read data from socket. But it's possble that
socket has no data at this time, so Pipe::do_recv() keeps retry.

The fix is simple, just not retry when recv(2) return -EAGAIN.

Fixes: #14120
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-05-06 13:44:18 +02:00
songbaisen
f086f93bcb show the total pg on each osd.
ceph pg dump osds
dumped osds in format plain
osdstat kbused kbavail kb hb in hb out pg sum
0 143304204 79623420 234882056 [1,2] [] 330
1 143304204 79623420 234882056 [0,2] [] 295
2 143304148 79623476 234882056 [0,1] [] 303
sum 429912556 238870316 704646168

Fixes:#14183
Signed-off-by: songbaisen song.baisen@zte.com.cn
2016-05-06 13:44:18 +02:00
Jianpeng Ma
f8fa44a14a os/bluestore/KernelDevice: For buffer mode no need do bufferlist::rebuild.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-06 13:44:17 +02:00
songbaisen
6f046c6c78 osd: copy blacklist in better way.
Signed-off-by: song baisen song.baisen@zte.com.cn
2016-05-06 13:44:17 +02:00
xie xingguo
0f7029b92a mon/PGMonitor: don't get error code overwritten by 0
dump_stuck_pg_stats() method returns either 0 on success or
an negative error code on failure. So it is wrong to reset
"r" to 0.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 13:44:17 +02:00
xie xingguo
037cf3f6a8 mon/PGMonitor: fix inaccurate warn of unscrubbed pgs
1. we automatically perform deep-scrub at osd_deep_scrub_interval,
   not mon_scrub_interval(1week vs. 1day).

2. theoretically a pg can be in a combination state of both unscrubbed
   and un-deep-scrubbed.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-06 13:44:17 +02:00
Sage Weil
01c0f429dd test/mon/mkfs.sh: clean up kv_backend file
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:17 +02:00
Sage Weil
efc3510f12 mon/MonitorDBStore: remember kv backend type
If it is specified, use it; otherwise, go by the config
option.

Record the type when creating the store.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:17 +02:00