Commit Graph

57035 Commits

Author SHA1 Message Date
Josh Durgin
ee4d094690 Merge pull request #10782 from BlaXpirit/rados-test-py3
qa/workunits/rados/test_python.sh: Allow specifying Python executable

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-08-18 14:19:45 -07:00
Oleh Prypin
20c5bcf592 qa/workunits/rados/test_python.sh: Allow specifying Python executable
(through an environment variable)

Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-08-18 23:36:32 +03:00
Casey Bodley
94d813779a Merge pull request #10777 from linuxbox2/rgw-token-base64
rgw ldap:  protect rgw::from_base64 from non-base64 input

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-08-18 15:09:30 -04:00
Casey Bodley
4c33fa52d0 Merge pull request #10772 from ceph/wip-cmake
cmake: recompile erasure src for different variants

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-08-18 14:48:10 -04:00
Ilsoo Byun
028471899e os/bluestore: add multiple finishers to bluestore
- The single finisher of a bluestore can be a bottleneck
when using an SSD as a backend device. If too much load
is given to the single finisher, client-side IO latency
increases. So we add multiple finishers to the
bluestore, which shows better performance.

- 'bluestore_shard_finishers' option is added to
be able to configure wheather finsihers is multiple or
not.

- a finisher is selected according to the shard id of a
sequencer.

- the number of finishers is decided by
osd_op_num_shards.

Signed-off-by: Ilsoo Byun <ilsoo.byun@sk.com>
2016-08-18 14:29:44 -04:00
Sage Weil
6af2ed75e8 os/bluestore/BlueFS: rename buffered_io option
This is not a bluestore option.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-08-18 14:23:50 -04:00
Sage Weil
7f568fa1dd os/bluestore/BlueFS: do direct io by default (not buffered)
Somnath is doing this in his testing with good results.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-08-18 14:23:20 -04:00
Sage Weil
8a54076ca2 os/bluestore: break down onode vs bnode_map size in log
Signed-off-by: Sage Weil <sage@redhat.com>
2016-08-18 14:23:20 -04:00
Sage Weil
9181c3d0a5 Merge pull request #10717 from liewegas/wip-bluefs-async-compaction
os/bluestore/BlueFS: async compaction

Reviewed-by: Sage Weil <sage@redhat.com>
2016-08-18 13:21:40 -05:00
Sage Weil
a37357873d Merge pull request #10698 from liewegas/wip-bluestore-bluefs-allocation
bluestore: do not use freelist to track bluefs_extents
2016-08-18 11:27:53 -05:00
Sage Weil
8c39bb08c1 Merge pull request #10550 from tanghaodong25/in-memory-db
kv: fix some bugs in memdb

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Ramesh Chander <Ramesh.Chander@sandisk.com>
2016-08-18 11:14:13 -05:00
Sage Weil
cae06afbf0 Merge pull request #10775 from xiexingguo/xxg-wip-clean-storetest
test/store_test: tidy-up SyntheticWorkloadState class 

Reviewed-by: Sage Weil <sage@redhat.com>
2016-08-18 11:11:24 -05:00
Matt Benjamin
0a4c91ec76 rgw ldap: protect rgw::from_base64 from non-base64 input
Also adds unit tests for:
1. empty output from from_base64 (turns out to be harmless)
2. random and specific non-base64 and sort strings

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-08-18 10:54:16 -04:00
Ken Dreyer
839807118d debian: replace SysV rbdmap with systemd service
Stop shipping /etc/init.d/rbdmap in the Debian packages. Ship the
rbdmap.service systemd unit file instead.

The corresponding change has already been made for RPMs, in
9224ac2ad2.

For Upstart-based systems (eg Ubuntu Trusty), the Debian packages
already contain rbdmap.conf.

(This gets us a tiny bit closer to being able to remove the rbdmap SysV
script from our tree entirely.)

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-18 08:54:00 -06:00
xie xingguo
cc75e1a2a1 mon/PGMonitor: fix potential underflow
h.h.size() could be 0(theoretically), so "h.h.size() - 1" could underflow.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 19:58:26 +08:00
xie xingguo
9c065e67d2 mon/PGMonitor: drop redundant loading of dumpcontents
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 19:58:02 +08:00
xie xingguo
6f3cf0d68a mon/PGMonitor: skip scrub checking if we can
The PG-scrub checking may become expensive once the cluster
is big. Since the scrub-warn related options are defaulted to be off,
we should skip this checking when it is possible, which
is good for performance.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
xie xingguo
28dd2b06f8 osd/OSDMonitor: drop redundant check of exists()
Which is aready included by the is_up() method.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
xie xingguo
4a271f126e osd/OSDMonitor: avoid duplicated assignment of oldest_map/newest_map
As build_incremental() has done this for us.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
xie xingguo
3d12241e3b mon/OSDMonitor: avoid duplicated calls when determining osdmap boundary
We have caculdated the oldest/newest map epochs already,
so we can use it directly here.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
xie xingguo
4f5d588bed mon/OSDMonitor: get rid of snprintf when formatting output string
We can use the standard precision() and fixed method to achieve the same
effect.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
xie xingguo
c309ba49df mon/OSDMonitor: fix potential division-by-zero error
By checking pg_num against 0, we could avoid the risk of
division-by-zero error.

Also, we limit the loop to 50 or pg_num, whichever is smaller,
when trying to generate some pg_temps randomly.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 18:05:40 +08:00
Kefu Chai
b89e2b8ee6 cmake: recompile erasure src for different variants
* instead of reusing the object libraries, we should recompile jerasure
  code for different plugin flavors like neon, sse3, sse4.
* do not version plugin so, as they are not supposed to be used by
  user directly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-18 17:43:21 +08:00
xie xingguo
df949d53bb test/store_test: avoid dynamic allocation of trans
For the sake of performance.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 15:50:10 +08:00
xie xingguo
e080e35c9f test/store_test: drop redundant transaction of callbacks
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 15:50:10 +08:00
xie xingguo
dd57e9ee18 test/store_test: fix incorrect prompt given by stash callback
"clone finish" belongs to C_SyntheticOnClone instead.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-08-18 15:50:10 +08:00
haodong
f5a320c218 kv: fix iterator bug in prev
Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2016-08-18 15:17:41 +08:00
haodong
7e72a090c5 kv: fill 'm_key_value' after 'seek_to_first' or 'seek_to_last'
Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2016-08-18 15:17:41 +08:00
haodong
00289b2a00 kv: fix iterator invalidation in memdb.
Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2016-08-18 15:17:40 +08:00
haodong
cbca389d82 kv: delete store after pg destructor is called in OSD shutdown.
Using memdb for bluestore kvbackend, we will hit segfault when we use
'kill' command to shut down osd process. After destructing pg, some
reference to bluestore will be release, but bluestore has been deleted
at this time.

Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2016-08-18 15:17:40 +08:00
Ilya Dryomov
0c9ada8ec6 Merge pull request #10481 from dillaman/wip-16171
librbd: request exclusive lock if current owner cannot execute op

Reviewed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-08-17 21:03:45 +02:00
Casey Bodley
c63a467d67 Merge pull request #10737 from weiqiaomiao/wqm-wip-rgw-core
rgw: fix radosgw daemon core when reopen logs

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-08-17 14:39:47 -04:00
Sage Weil
2634bcf853 Merge pull request #10728 from xiexingguo/xxg-wip-kill-bs-warn
bluestore: initialize csum_order properly

Reviewed-by: Sage Weil <sage@redhat.com>
2016-08-17 12:13:50 -04:00
Jason Dillaman
2d9840af39 librbd: cache was not switching to writeback after first flush
Fixes: http://tracker.ceph.com/issues/16654
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-08-17 12:08:37 -04:00
Mykola Golub
f7ae584db5 Merge pull request #10703 from dillaman/wip-16855
rbd-mirror: improve split-brain detection logic

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-08-17 18:16:17 +03:00
Orit Wasserman
8f535baace Merge pull request #10756 from linuxbox2/fix_gc_interval
rgw_file: restore local definition of RGWLibFS gc interval
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-08-17 17:03:44 +02:00
Haomai Wang
6ef4d082a9 msg/async/kqueue: avoid remove nonexist kqueue event
Signed-off-by: Haomai Wang <haomai@xsky.com>
2016-08-17 22:33:25 +08:00
Sage Weil
2611cdca8a Merge pull request #10686 from liewegas/wip-bluefs-remove
os/bluestore/BlueFS: do not op_file_update deleted files

Tested-by: Somnath Roy <somnath.roy@sandisk.com>
2016-08-17 10:33:05 -04:00
Matt Benjamin
31936caa09 rgw_file: restore local definition of RGWLibFS gc interval
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-08-17 10:28:48 -04:00
Kefu Chai
810f660a7b Merge pull request #10755 from SUSE/wip-cmake-use-pie
cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-08-17 21:46:19 +08:00
Kefu Chai
aaacd3ef90 Merge pull request #10754 from SUSE/wip-cmake-fix-rgw-soversion
cmake: Fix mismatched librgw VERSION / SOVERSION

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-08-17 21:42:43 +08:00
Tim Serong
9e705be686 cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS
Without this, rpmlint (on openSUSE Tumbleweed) fails with:

ceph-radosgw.x86_64: E: non-position-independent-executable
(Badness: 10000) /usr/bin/radosgw
This executable must be position independent.  Check that it
is built with -fPIE/-fpie in compiler flags and -pie in linker
flags.

Signed-off-by: Tim Serong <tserong@suse.com>
2016-08-17 22:27:19 +10:00
Tim Serong
c8885d4a9e cmake: Fix mismatched librgw VERSION / SOVERSION
Without this, rpmlint (on openSUSE Tumbleweed) fails with:

librgw2.x86_64: E: shlib-policy-name-error (Badness: 10000) librgw1
Your package contains a single shared library but is not named
after its SONAME.

It seems that the VERSION/SOVERSION mismatch results in the
creation of librgw.so.1 and librgw.so.2.0.0, whereas it should
be librgw.so.2 and librgw.so.2.0.0.

Signed-off-by: Tim Serong <tserong@suse.com>
2016-08-17 22:21:59 +10:00
Kefu Chai
c59f402664 rgw: silence a compiling warning
printf() a uint64 in a portable way (i.e. C98 compliant way).

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-17 18:57:31 +08:00
Kefu Chai
7b9433c2b8 test/rbd: silence compiling warnings
silence warnings like:
```
src/test/librbd/fsx.cc:1589:21: comparison between signed and unsigned
integer expressions [-Wsign-compare]
(offset + size > monitorstart &&
^
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-17 18:52:23 +08:00
Kefu Chai
dd54ea674f os/filestore: silence compiling warnings
silence warnings like
```
src/os/filestore/FileStore.h:55:27: comparison between signed and
unsigned integer expressions [-Wsign-compare]
^
/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1566-ga98ddf7/src/os/filestore/BtrfsFileStoreBackend.cc:269:29:
note: in expansion of macro ‘BTRFS_SUPER_MAGIC’
if (currentfs.f_type == BTRFS_SUPER_MAGIC && basest.st_dev != st.st_dev)
{
^
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-17 18:52:22 +08:00
Orit Wasserman
80d914fc1d Merge pull request #10749 from mikulely/fix-rgw-client-cb
rgw: fix flush_read_list() error msg
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-08-17 09:12:20 +02:00
Brad Hubbard
f8fcef7670 Merge pull request #10747 from oliveiradan/master
gcc 6.1.1 complains about missing include: <random>. 4.8.3 does not c…
2016-08-17 16:53:58 +10:00
Kefu Chai
20320f3091 msg/async: fix compiler warnings
fix warnings like
```
comparison between signed and unsigned integer expressions
[-Wsign-compare]
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-17 14:38:46 +08:00
Kefu Chai
6c55d73cef cls_rgw: fix the compiler warning
fixes the warning of
```
warning:
/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1566-ga98ddf7/src/objclass/objclass.h:35:72:
format ‘%lu’ expects argument of type ‘long unsigned int’, but argument
6 has type ‘std::basic_string::size_type {aka unsigned int}’ [-Wformat=]
cls_log(level, " %s:%d: " fmt, __FILE__, __LINE__, ##__VA_ARGS__)
^
/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1566-ga98ddf7/src/cls/rgw/cls_rgw.cc:477:7:
note: in expansion of macro ‘CLS_LOG’
CLS_LOG(20, "start_key=%s len=%lu", start_key.c_str(),
start_key.size());
^
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-17 14:31:17 +08:00