Commit Graph

53291 Commits

Author SHA1 Message Date
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
xie xingguo
b29daf05fd osd: fix potential access violation during handling PING_REPLY
Need to make sure i != heartbeat_peers.end() before dereferencing it.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-09 20:34:06 +08:00
Kefu Chai
369db99308 osd: remove all stale osdmaps in handle_osd_map()
in a large cluster, there are better chances that the OSD fails to trim
the cached osdmap in a timely manner. and sometimes, it is just unable
to keep up with the incoming osdmap if skip_maps, so the osdmap cache
can keep building up to over 250GB in size. in this change

* publish_superblock() before trimming the osdmaps, so other osdmap
  consumers of OSDService.superblock won't access the osdmaps being
  removed.
* trim all stale osdmaps in batch of conf->osd_target_transaction_size
  if skip_maps is true. in my test, it happens when the osd only
  receives the osdmap from monitor occasionally because the osd happens
  to be chosen when monitor wants to share a new osdmap with a random
  osd.
* always use dedicated transaction(s) for trimming osdmaps. so even in
  the normal case where we are able to trim all stale osdmaps in a
  single batch, a separated transaction is used. we can piggy back
  the commits for removing maps, but we keep it this way for simplicity.
* use std::min() instead MIN() for type safety

Fixes: http://tracker.ceph.com/issues/13990
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-05-09 20:07:51 +08:00
Abhishek Lekshmanan
a3fdd26b02 rgw: drop unnecessary spacing in rgw zg init log
Dropping unneeded space when we're printing the failed reading zg info
message

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2016-05-09 14:05:06 +02:00
Xinze Chi
cde3c54145 ReplicatedPG: fix fill_in_copy_get logic
performance degrade when promote or flush object

Signed-off-by: Xinze Chi <xinze@xsky.com>
2016-05-09 19:26:37 +08:00
Abhishek Lekshmanan
aee1d643be rgw: log name instead of id for SystemMetaObj on failure
Currently if we fail to read a SystemMetaObj we try to log the
MetaObject id, however this will not be set mostly as read_id has
failed, so we end up logging an empty id, changing this to log
the object name instead

Fixes: http://tracker.ceph.com/issues/15776
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2016-05-09 11:41:19 +02:00
Etienne Menguy
6bab8cf362
adding test-reweight-by-utilization documentation
Signed-off-by: Etienne Menguy <etienne.menguy@corp.ovh.com>
2016-05-09 10:49:47 +02:00
runsisi
715e99c83e cls_journal: remove duplicated key generation
Signed-off-by: runsisi <runsisi@zte.com.cn>
2016-05-09 15:15:31 +08:00
Li Peng
9c2d785382 cleanup: python: remove warnings of 'new blank line at EOF'
When applying ceph patches, some warnings reported, e.g.
qa/workunits/mon/caps.py:367: new blank line at EOF.

Signed-off-by: Li Peng <lip@dtdream.com>
2016-05-09 11:28:42 +08:00
Li Peng
969c6d464c cleanup: python: remove warnings of 'trailing whitespace'
When applying ceph patches, some warnings reported, e.g.
doc/scripts/gen_state_diagram.py:99: trailing whitespace.

Signed-off-by: Li Peng <lip@dtdream.com>
2016-05-09 11:25:08 +08:00
Shinobu Kinjo
852dc3fa66 src/os/bluestore: fix typo in:
BlueRocksEnv.h
                    NVMEDevice.h

Signed-off-by: Shinobu Kinjo <shinobu@linux.com>
2016-05-08 18:16:24 +09:00
Jianpeng Ma
3c1cf727d9 os/filestore/FileJournal: optimize align_bl.
Using is_aligned_size_and_memory replace is_aligned &&
is_n_aligned_size.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-08 07:17:30 +08:00
Jianpeng Ma
7ca73f4e6e common/buffer: For bufferlist add func is_aligned_size_and_memory.
For directIO requirement, we need check bufferpt whether size aligned
and the address aligned. To do this, we should call is_aligned &&
is_n_align_sized. Every func also list all ptr of bufferlist.
To reduce one list, we add is_aligned_size_and_memroy(align_size,
align_memory) which only need list once.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-08 07:17:26 +08:00
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
Jianpeng Ma
bd5f06702e common/config_opt: add bool option: bluestore_block_preallocate_file.
Using this option control whether preallocate space when bluesotre
block/db_path/wal_path use file instead block device.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-07 18:49:53 +08:00
Jianpeng Ma
75b0f7d1ba os/bluestore/BlueStore: preallocate space when use file instead of blockdevice.
Avoid failure because lack of space.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2016-05-07 14:56:07 +08:00
Shinobu Kinjo
ce91b31a0c src/os/bluestore/BlueStore.h: fix typo
Signed-off-by: Shinobu Kinjo <shinobu@linux.com>
2016-05-07 02:00:50 -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
Shinobu Kinjo
6553715059 src/os/bluestore/StupidAllocator.cc: change file permission from 774 to 664
Signed-off-by: Shinobu Kinjo <shinobu@linux.com>
2016-05-06 18:13:01 -04: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