Commit Graph

55575 Commits

Author SHA1 Message Date
Varada Kari
a579e06784 os/bluestore/BlueFS: Make fysnc return the status
Signed-off-by: Varada Kari <varada.kari@sandisk.com>
2016-06-30 12:57:12 -04:00
Sage Weil
97699334ac os/bluestore/BlueFS: make _sync_and_flush_log smarter
If we know what event we need to wait for, only wait long enough for it
to flush.  This helps the situation where another thread flushed what we
needed, and more dirty stuff was added to log_t, but we don't need to
wait for that too for our caller to be happy.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
10d055d657 os/bluestore: drop lock while we flush the log
Handle cases where we have multiple racing threads trying to flush the
log by only allowing one concurrent log flush to be in progress at a time,
and behave if, after flushing, there are no more dirty records to flush.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
ff668f2cf9 os/bluestore/BlueFS: use existing IOContext for _write_super
We need to be careful with IOContext destruction racing with the bdev
io completion thread.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
228ffab590 os/bluestore/BlueFS: pass unique_lock down through _fsync and log flush
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
e74092f278 os/bluestore/BlueFS: carry lock for mkfs
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
ad08fd4eb9 os/bluestore/KernelDevice: rebuild buffer if we exceed IOV_MAX
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
98f5fd5e36 common/buffer: assert that we do not exceed IOV_MAX in prepare_iov
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
2f33e77e87 unittest_bluefs: don't silence log
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
9b10f8edea os/bluestore/BlueFS: _flush_bdev -> flush_bdev
It is safe to call without a lock.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
4ec1724892 os/bluestore/BlueFS: drop lock while waiting for user io to complete
_flush_wait is safe to call without a lock, as long as our reference is
stable.  Rename it wait_for_aio() to be more clear about what it does and
the fact that it doesn't require a lock.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
d8554cce77 os/bluestore/BlueFS: track dirty by log_seq, log_seq_stable
Note when we dirty a file, and clean it only if that seq has been
committed.  Currently this is always the case because we don't drop the
lock, but that will change shortly.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
67660d1ae2 os/bluestore/BlueFS: do not dirty log file when size changes
We only need to dirty the log file if the allocate changes.  Replay is
smart enough to learn the file size as it goes.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
ca825651e6 os/bluestore/BlueFS: track log_seq_stable
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:56 -04:00
Sage Weil
4d44b7b145 os/bluestore/BlueFS: _flush_log -> _flush_and_sync_log
Be accurate.

No functional change.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 12:56:55 -04:00
Sage Weil
e4b1f2d98f Merge pull request #10018 from ifed01/wip-bluestore-squeeze-lextents
os/bluestore: apply "small encoding" for onode_t::extents map

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-30 12:42:14 -04:00
Ali Maredia
789fb17279 Merge pull request #10059 from tchaikov/wip-cmake
cmake changes

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2016-06-30 12:30:35 -04:00
Matt Benjamin
3d7d2219e0 Merge pull request #10035 from Yan-waller/yj-wip-rgwradoscc-0630
rgw: fix the missing return value and remove temporary variables

lgtm, build verified f23
2016-06-30 12:18:18 -04:00
Kefu Chai
e50460b69e cmake: install rbd-replay-many and its manpage
rpm packaging needs it explicitly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-01 00:15:37 +08:00
Sage Weil
f3ac713348 Merge pull request #10029 from wjwithagen/patch-1
msg/async/net_handler.cc: make it more compatible with BSDs

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-30 11:47:15 -04:00
Sage Weil
7cd35f622f Merge pull request #10030 from stiopaa1/msg_asyncmess_removeCodeDup
msg/AsyncMessenger.cc: remove code duplication

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-30 11:46:20 -04:00
Sage Weil
e7e0bae07e Merge pull request #10066 from Ved-vampir/isal_submodule
isa-l: add isa-l library as a submodule
2016-06-30 11:39:57 -04:00
Sage Weil
c1b86e0c02 Merge pull request #9999 from xiexingguo/xxg-wip-bluestore-2016-06-29
os/bluestore: misc fixes

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-30 11:23:20 -04:00
Sage Weil
d2d277bfa0 Merge pull request #9946 from xiexingguo/xxg-wip-bluestore-cache
os/bluestore: make trim() of 2Q cache more fine-grained

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-30 11:22:56 -04:00
Sage Weil
ab6f45afb3 Merge pull request #9968 from ceph/wip-no-start-update
rpm: Do not start targets on update

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-06-30 11:22:08 -04:00
Sage Weil
acdbddf116 cmake: add compressor_plugins as dep for libos
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 11:06:21 -04:00
Sage Weil
42c640e76c common/PluginRegistry: try $plugin_dir/$foo if $plugin_dir/$type/$foo fails
This is helpful for running out of a build dir, where e.g. cmake puts
stuff in lib/* and type separated into subdirs by type.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 11:06:21 -04:00
Sage Weil
6732ef05ac do_cmake.sh: create initial ceph.conf setting dirs
This is enough for unit tests to run.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-30 11:06:21 -04:00
Ved-vampir
52d736a3d9 isa-l: add isa-l library as a submodule
Signed-off-by: Alyona Kiseleva <akiselyova@mirantis.com>
2016-06-30 17:47:16 +03:00
Sage Weil
0ab64808ac Merge pull request #9935 from xiexingguo/xxg-wip-make-zone-configurable
os/bluestore: fix memory leak during bit_alloc testing

Reviewed-by: Ramesh Chander <Ramesh.Chander@sandisk.com>
2016-06-30 10:43:38 -04:00
Oleh Prypin
1b68935e23 brag: Use Counter from standard library if available
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 17:24:32 +03:00
Jason Dillaman
6f573ca2d6 rbd-mirror: gracefully fail if object map is unavailable
If the exclusive lock was lost due to a watch failure from an
overloaded cluster, gracefully abort the image sync.

Fixes: http://tracker.ceph.com/issues/16558
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-30 10:24:01 -04:00
Oleh Prypin
56287392d8 brag: Make usage of bytes vs unicode compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:30:05 +03:00
Oleh Prypin
9924da0258 brag: Fix relative import for Python 3 compatibility
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:30:03 +03:00
Oleh Prypin
edac38e210 brag: Use print_function for Python 3 compatibility
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:30:01 +03:00
Oleh Prypin
f231b801cc brag: Replace dangerous uses of is operator
It is an implementation detail that `is` happens to behave the same as `==` for low integers

Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:29:57 +03:00
Oleh Prypin
8d4d2787e5 brag: Assume there are 0 MDS instead of crashing when data is missing
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:29:16 +03:00
Oleh Prypin
52a43df4cc brag: Add missing fields to the sample JSON file
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-06-30 16:28:59 +03:00
John Spray
f2c2c29c84 Merge pull request #9789 from batrick/i16164
mds: add maximum fragment size constraint

Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-30 12:47:15 +01:00
xie xingguo
a6fb43363f os/bluestore: check against if tail_pad is already 0
So we may skip the potential has_any_lextents() check.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 19:31:45 +08:00
Kefu Chai
5850687875 cmake: use selinux/devel/Makefile for building selinux policy
was using selinux/devel/include/Makefile, which was wrong.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-30 19:27:44 +08:00
Kefu Chai
0b002223dd cmake: install libs into ${CMAKE_INSTALL_LIBDIR}
this address rpm build failures on amd64 platforms:

Directory not found:
/srv/autobuild-ceph/gitbuilder.git/build/rpmbuild/BUILDROOT/ceph-11.0.0-119.gcd3ee3c.x86_64/usr/lib64/rados-classes
File not found by glob:
/srv/autobuild-ceph/gitbuilder.git/build/rpmbuild/BUILDROOT/ceph-11.0.0-119.gcd3ee3c.x86_64/usr/lib64/rados-classes/*
File not found by glob:
/srv/autobuild-ceph/gitbuilder.git/build/rpmbuild/BUILDROOT/ceph-11.0.0-119.gcd3ee3c.x86_64/usr/lib64/libos_tp.so*
File not found by glob:
/srv/autobuild-ceph/gitbuilder.git/build/rpmbuild/BUILDROOT/ceph-11.0.0-119.gcd3ee3c.x86_64/usr/lib64/libosd_tp.so*

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-30 19:27:43 +08:00
Kefu Chai
41061ce769 cmake: install systemd files
add an option "WITH_SYSTEMD", off by default

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-30 19:27:43 +08:00
Kefu Chai
5ab449a6d8 cmake: install ceph_test_keyvaluedb
qa task rados/objectstore/keyvaluedb.yaml uses it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-30 19:27:43 +08:00
Orit Wasserman
082a0731ac Merge pull request #9351 from Yan-waller/yj-hwip-rgwfixlisterr
rgw/rados: remove confused error printout
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-06-30 12:14:17 +02:00
xie xingguo
b812482a1e os/bluestore: remove duplicated initialization of max_alloc_size
_set_alloc_sizes() already did this.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 16:07:41 +08:00
xie xingguo
f77d49e09c os/bluestore: merge _rm_buffer() to reduce code redundancy
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 16:07:41 +08:00
xie xingguo
9ec2adda94 os/bluestore: kill unused buffer state "read"
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 16:07:41 +08:00
xie xingguo
34028c204d os/bluestore: fix potential access violation
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 16:07:41 +08:00
xie xingguo
6593c4f170 os/bluestore: fix incorrect skipping of partial hole reading
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-06-30 16:07:41 +08:00