Commit Graph

53211 Commits

Author SHA1 Message Date
Jianpeng Ma
dc0c99eb4f aos/bluestore/KernelDevice: optimize rebuild for aio_write.
For the requirement of directio, the content maybe rebuild.
In fact, rebuild_aligned_size_and_memory first check is_n_align_sized &&
is_algined and if need it rebuild.
So using rebuild_aligned_size_and_memory can remove the check.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-08 07:16:28 +08:00
Jianpeng Ma
c82e08692e common/buffer: Change rebuild_aligned_* & rebuild_page_aligned API.
Make those func return value from void to bool. Using the return value
we can know whether really rebuild content in order to optimize .

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-08 06:41:24 +08:00
Jianpeng Ma
3161ab1c07 os/bluestore/BlueFS: remove the duplicate bufferlist.rebuild().
In the later BlockDevice::aio_write(), it will rebuild again if
bufferlist need rebuild.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-08 06:41:21 +08:00
Michal Jarzabek
3a5f4c5c89 osd/OSD.h: remove unneeded include file
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2016-05-07 13:54:24 +01:00
Jason Dillaman
44827a3e8e librbd: assertion to ensure no concurrent processing of replay events
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-07 08:23:19 -04:00
Jason Dillaman
3b8d21ac13 journal: suppress notifications if client still in try_pop_front loop
One such example is popping the last entry from an object.  The next
object will be automatically prefetched.  When that object is received,
we do not want to alert the user that entries are available since
try_pop_front already indicated more records were available.

Fixes: http://tracker.ceph.com/issues/15755
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-07 08:23:19 -04:00
Jason Dillaman
5d205ef33c librbd: delay processing of next journal entry until flush in-progress
When replaying a journal flush event, do not start processing the next
journal entry until after the flush is in progress to ensure the barrier
is correctly guarding against future writes.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-07 08:23:18 -04:00
Yehuda Sadeh
5d3882d565 test/rgw: fix bucket checkpoint
Can refer to the incremental sync marker only if bucket is in the incremental
sync state.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2016-05-06 15:32:50 -07:00
Casey Bodley
e2b27c7266 test/rgw: add test_zonegroup_remove
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:51:42 -04:00
Casey Bodley
6327ade12b test/rgw: index zones by name instead of insertion order
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:51:42 -04:00
Casey Bodley
db0fa48ed5 radosgw-admin: add missing 'zonegroup remove'
Fixes: http://tracker.ceph.com/issues/15684

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:51:42 -04:00
Casey Bodley
3a451511fb rgw: RGWZoneGroup::remove_zone() takes zone id
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:51:42 -04:00
Michal Jarzabek
083417fb41 osd/OSD.h: change some data members to private
Move some data members of the OSDService from public to private access
specifier.

Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2016-05-06 21:41:19 +01:00
Casey Bodley
abed30befd rgw: fix for duplicates in list_periods()
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:07:45 -04:00
Casey Bodley
a286b32224 rgw: 'period delete' cleans up all period objects
Fixes: http://tracker.ceph.com/issues/15469

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-05-06 16:07:35 -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
Yehuda Sadeh
b7a7d41839 rgw: handle stripe transition when flushing final pending_data_bl
Fixes: http://tracker.ceph.com/issues/15745

When complete_writing_data() is called, if pending_data_bl is not empty
we still need to handle stripe transition correctly. If pending_data_bl
has more data that we can allow in current stripe, move to the next one.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2016-05-06 08:48:42 -07: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