]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoceph_test_objectstore: fix omap test cleanup
Sage Weil [Thu, 16 Apr 2015 00:10:48 +0000 (17:10 -0700)]
ceph_test_objectstore: fix omap test cleanup

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use fdatasync instead of fsync
Sage Weil [Wed, 15 Apr 2015 22:35:16 +0000 (15:35 -0700)]
os/newstore: use fdatasync instead of fsync

On XFS at least, fdatasync is sufficient to make data readable.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: update todo
Sage Weil [Wed, 15 Apr 2015 17:35:26 +0000 (10:35 -0700)]
os/newstore: update todo

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/Newstore: Check onode.omap_head in valid() and next()
Xiaoxi Chen [Wed, 15 Apr 2015 16:10:08 +0000 (00:10 +0800)]
os/Newstore: Check onode.omap_head in valid() and next()

The db iter will be set to KeyValueDB::Iterator() if onode.omap_head
not present. In that case if we touch the db iter we will get a segmentation
fault.

Prevent to touch the db iter when onode.omap_head is invalid(equals to 0).

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoUse .str() to output a stringstream.
Xiaoxi Chen [Wed, 15 Apr 2015 08:22:28 +0000 (16:22 +0800)]
Use .str() to output a stringstream.

a nit.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/Newstore: Allow gap in _do_write append mode
Xiaoxi Chen [Mon, 13 Apr 2015 08:21:00 +0000 (16:21 +0800)]
os/Newstore: Allow gap in _do_write append mode

We can allow some gap so we only need to ensure
onode.size <= offset.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoImplement get_omap_iterator
Xiaoxi Chen [Wed, 8 Apr 2015 15:35:50 +0000 (23:35 +0800)]
Implement get_omap_iterator

implemented get_omap_iterator

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/KeyValueDB: Add raw_key() interface for IteratorImpl
Xiaoxi Chen [Sun, 12 Apr 2015 03:28:13 +0000 (11:28 +0800)]
os/KeyValueDB: Add raw_key() interface for IteratorImpl

raw_key() is useful to split out the prefix.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agotest/store_test Add get_omap_iterator test cases
Xiaoxi Chen [Fri, 10 Apr 2015 01:39:44 +0000 (09:39 +0800)]
test/store_test Add get_omap_iterator test cases

omap iterator test cases include:
  iter aganist omap
  lower_bound
  upper_bound

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/newstore: drop sync()
Sage Weil [Mon, 17 Aug 2015 19:23:19 +0000 (15:23 -0400)]
os/newstore: drop sync()

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: drop sync()
Sage Weil [Mon, 17 Aug 2015 19:23:03 +0000 (15:23 -0400)]
os/newstore: drop sync()

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: drop flush
Sage Weil [Mon, 17 Aug 2015 19:22:42 +0000 (15:22 -0400)]
os/newstore: drop flush

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: drop sync_and_flush
Sage Weil [Mon, 17 Aug 2015 19:22:26 +0000 (15:22 -0400)]
os/newstore: drop sync_and_flush

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use FS::zero()
Sage Weil [Fri, 10 Apr 2015 23:55:18 +0000 (16:55 -0700)]
os/newstore: use FS::zero()

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use O_DIRECT is write is page-aligned
Sage Weil [Fri, 10 Apr 2015 23:49:07 +0000 (16:49 -0700)]
os/newstore: use O_DIRECT is write is page-aligned

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: pass flags to _{open,create}_fid
Sage Weil [Fri, 10 Apr 2015 23:35:40 +0000 (16:35 -0700)]
os/newstore: pass flags to _{open,create}_fid

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: drop unused FragmentHandle
Sage Weil [Fri, 10 Apr 2015 23:33:00 +0000 (16:33 -0700)]
os/newstore: drop unused FragmentHandle

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: do not call completions from kv thread
Sage Weil [Fri, 10 Apr 2015 22:29:16 +0000 (15:29 -0700)]
os/newstore: do not call completions from kv thread

Reads may call wait_wal() holding user locks, and so we cannot block
progress on WAL completion/flushing by calling callbacks that may take
user locks.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: let wal cleanup kv txn get batched
Sage Weil [Fri, 10 Apr 2015 21:28:13 +0000 (14:28 -0700)]
os/newstore: let wal cleanup kv txn get batched

No need to trigger another sync kv commit here; just let the next KV
commit catch it.

We could possibly do a bit better here by not waking up the kv thread at
all...

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: fix off-by-one on overlay_max_length
Sage Weil [Fri, 10 Apr 2015 18:54:01 +0000 (11:54 -0700)]
os/newstore: fix off-by-one on overlay_max_length

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use lower_bound for finding overlay extents in map
Sage Weil [Thu, 9 Apr 2015 17:52:06 +0000 (10:52 -0700)]
os/newstore: use lower_bound for finding overlay extents in map

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use overlay even if it is a new object or append
Sage Weil [Thu, 9 Apr 2015 16:16:03 +0000 (09:16 -0700)]
os/newstore: use overlay even if it is a new object or append

This avoids the fsync for small writes.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/Newstore:Change assert in get_onode
Xiaoxi Chen [Wed, 8 Apr 2015 16:13:10 +0000 (00:13 +0800)]
os/Newstore:Change assert in get_onode

db->get will return negtive when key is not found.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/newstore: open by handle
Sage Weil [Tue, 7 Apr 2015 22:24:16 +0000 (15:24 -0700)]
os/newstore: open by handle

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: use fs abstaction layer
Sage Weil [Tue, 7 Apr 2015 22:22:09 +0000 (15:22 -0700)]
os/newstore: use fs abstaction layer

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: cap fid_max below newstore_max_dir_size
Xiaoxi Chen [Tue, 7 Apr 2015 08:41:27 +0000 (16:41 +0800)]
os/newstore: cap fid_max below newstore_max_dir_size

Prevent fid_max over the max_dir_size when preallocation.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/newstore: keep smallish overlay extents in kv db
Sage Weil [Tue, 7 Apr 2015 18:25:00 +0000 (11:25 -0700)]
os/newstore: keep smallish overlay extents in kv db

If we have a small overwrite, keep the extent in the key/value database.
Only write it back to the file/fragment later, and when we do, write them
all at once.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: assigned unique nid to each new object
Sage Weil [Tue, 18 Aug 2015 14:10:54 +0000 (10:10 -0400)]
os/newstore: assigned unique nid to each new object

Use this as the key for omap (omap_head), but keep the omap_head field
so that we can tell when no omap data is present.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: consolite collection_list to a single implementation
Sage Weil [Tue, 28 Jul 2015 16:59:39 +0000 (12:59 -0400)]
os/newstore: consolite collection_list to a single implementation

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoClear removed_collections after reap
Xiaoxi Chen [Fri, 3 Apr 2015 01:48:43 +0000 (09:48 +0800)]
Clear removed_collections after reap

Previous code forgot to clear the removed_collections queues
after reaped the collections in _reap_collection.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
9 years agoos/newstore: ref count OpSequencer
Sage Weil [Wed, 1 Apr 2015 21:44:45 +0000 (14:44 -0700)]
os/newstore: ref count OpSequencer

Our OpSequencer may live longer than the ObjectStore::Sequencer interface
object does.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: send complete overwrite to a new fid
Sage Weil [Wed, 1 Apr 2015 16:46:53 +0000 (09:46 -0700)]
os/newstore: send complete overwrite to a new fid

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/newstore: clone omap
Sage Weil [Tue, 18 Aug 2015 14:10:25 +0000 (10:10 -0400)]
os/newstore: clone omap

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agonewstore: initial version
Sage Weil [Tue, 18 Aug 2015 14:09:20 +0000 (10:09 -0400)]
newstore: initial version

This includes a bunch of new ceph_test_objectstore tests, and a ton of fixes
to existing tests so that objects actually live inside the collections they
are written to.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agovstart.sh: debug newstore
Sage Weil [Fri, 27 Mar 2015 23:07:10 +0000 (16:07 -0700)]
vstart.sh: debug newstore

9 years agoRevert "os/Makefile.am: add os/fs/XFS.cc"
Sage Weil [Tue, 1 Sep 2015 17:37:46 +0000 (13:37 -0400)]
Revert "os/Makefile.am: add os/fs/XFS.cc"

This reverts commit 32331ede41ef5b1dc4eb85304d2e86d7c027c75c.

Doh, this is in a conditional below.

9 years agoMerge pull request #5173 from ceph/wip-12000-12200
David Zafman [Tue, 1 Sep 2015 17:25:08 +0000 (10:25 -0700)]
Merge pull request #5173 from ceph/wip-12000-12200

Fast read for erasure coding pool and erasure code error handling

Error handling
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Fast Read
Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoos/Makefile.am: add os/fs/XFS.cc
Sage Weil [Tue, 1 Sep 2015 17:18:21 +0000 (13:18 -0400)]
os/Makefile.am: add os/fs/XFS.cc

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #5695 from tchaikov/wip-12012
Kefu Chai [Tue, 1 Sep 2015 11:00:46 +0000 (19:00 +0800)]
Merge pull request #5695 from tchaikov/wip-12012

osd: translate sparse_read to read for ecpool

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_rados_api_aio: add a test for aio_sparse_read 5695/head
Kefu Chai [Fri, 28 Aug 2015 03:36:49 +0000 (11:36 +0800)]
ceph_test_rados_api_aio: add a test for aio_sparse_read

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoceph_test_rados_api_io: add tests for sparse_read
Kefu Chai [Thu, 27 Aug 2015 14:57:16 +0000 (22:57 +0800)]
ceph_test_rados_api_io: add tests for sparse_read

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoceph_test_rados: also send sparse_read in ReadOp
Kefu Chai [Wed, 26 Aug 2015 07:41:13 +0000 (15:41 +0800)]
ceph_test_rados: also send sparse_read in ReadOp

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: should use ec_pool() when checking for an ecpool
Kefu Chai [Fri, 28 Aug 2015 06:27:53 +0000 (14:27 +0800)]
osd: should use ec_pool() when checking for an ecpool

we were using pool.info.require_rollback() in do_osd_ops() when
handling OP_SPARSE_READ to tell if a pool is an ecpool. should
use pool.info.ec_pool() instead.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: translate sparse_read to read for ecpool
Kefu Chai [Thu, 27 Aug 2015 14:57:49 +0000 (22:57 +0800)]
osd: translate sparse_read to read for ecpool

Fixes: #12012
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: Fix the diagnostic logging mostly to dout(20) 5173/head
David Zafman [Tue, 1 Sep 2015 02:28:18 +0000 (19:28 -0700)]
osd: Fix the diagnostic logging mostly to dout(20)

Signed-off-by: David Zafman <dzafman@redhat.com>
9 years agoMerge pull request #5652 from dachary/wip-mailmap
Loic Dachary [Mon, 31 Aug 2015 20:35:12 +0000 (22:35 +0200)]
Merge pull request #5652 from dachary/wip-mailmap

mailmap updates

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoceph.spec: package cls_numops
Sage Weil [Fri, 28 Aug 2015 20:54:49 +0000 (16:54 -0400)]
ceph.spec: package cls_numops

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #5684 from liewegas/wip-hammer-corpus
Sage Weil [Mon, 31 Aug 2015 17:50:11 +0000 (13:50 -0400)]
Merge pull request #5684 from liewegas/wip-hammer-corpus

add hammer objects to ceph-object-corpus

9 years agoMerge pull request #5451 from XinzeChi/wip-recovery-attr
Sage Weil [Mon, 31 Aug 2015 17:31:06 +0000 (13:31 -0400)]
Merge pull request #5451 from XinzeChi/wip-recovery-attr

bug fix: osd: do not cache unused buffer in attrs

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #5357 from ceph/wip-12325
Sage Weil [Mon, 31 Aug 2015 15:33:13 +0000 (11:33 -0400)]
Merge pull request #5357 from ceph/wip-12325

mon: LogMonitor: handle boolean options consistently

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge remote-tracking branch 'gh/infernalis'
Sage Weil [Mon, 31 Aug 2015 15:29:14 +0000 (11:29 -0400)]
Merge remote-tracking branch 'gh/infernalis'

9 years agoMerge pull request #5622 from ceph/wip-memstore
Sage Weil [Mon, 31 Aug 2015 15:08:46 +0000 (11:08 -0400)]
Merge pull request #5622 from ceph/wip-memstore

MemStore locking enhancements and bufferlist alternative

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
9 years agoMerge pull request #5705 from dachary/wip-12786-centos-systemd
Sage Weil [Mon, 31 Aug 2015 15:06:52 +0000 (11:06 -0400)]
Merge pull request #5705 from dachary/wip-12786-centos-systemd

ceph-disk: {CentOS,RHEL} >= 7 && Fedora >= 22 are systemd

Reviewed-by: Travis Rhoden <trhoden@redhat.com>
9 years agoMerge pull request #5699 from dachary/wip-11881-multipath
Sage Weil [Mon, 31 Aug 2015 15:06:27 +0000 (11:06 -0400)]
Merge pull request #5699 from dachary/wip-11881-multipath

  ceph-disk: add multipath support

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #5655 from duduribeiro/patch-1
Kefu Chai [Mon, 31 Aug 2015 14:33:15 +0000 (22:33 +0800)]
Merge pull request #5655 from duduribeiro/patch-1

doc: update ruby doc with the aws-sdk gem usage

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agodoc: update ruby doc with the aws-sdk gem usage 5655/head
Kadu Ribeiro [Tue, 25 Aug 2015 01:25:57 +0000 (22:25 -0300)]
doc: update ruby doc with the aws-sdk gem usage

Since I'm using ceph with the `aws-sdk` gem (https://github.com/aws/aws-sdk-ruby) instead `aws-s3` (https://github.com/marcel/aws-s3) because the aws-s3 have a trouble with the new active support (https://github.com/marcel/aws-s3/issues/98) (and the downgrade active-support wasn't a option), I proposed change the doc to receive the usage instructions with the aws-sdk gem.

I used ceph with aws-sdk gem with this commands.

Thanks so much

Signed-off-by: Carlos E Ribeiro <mail@carlosribeiro.me>
9 years agoMerge pull request #4869 from joaquimrocha/cls_numops
Sage Weil [Mon, 31 Aug 2015 14:16:10 +0000 (10:16 -0400)]
Merge pull request #4869 from joaquimrocha/cls_numops

CLS numops

Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
9 years agoMerge pull request #5724 from ceph/wip-i386
Gregory Farnum [Mon, 31 Aug 2015 14:12:19 +0000 (15:12 +0100)]
Merge pull request #5724 from ceph/wip-i386

perf_serialize: fix i386 build

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoMerge pull request #5713 from yuyuyu101/wip-12798
Sage Weil [Mon, 31 Aug 2015 13:24:02 +0000 (09:24 -0400)]
Merge pull request #5713 from yuyuyu101/wip-12798

Fix keyvaluestore fails ceph_test_objectstore

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #5603 from wonzhq/doc-read-recency
Kefu Chai [Mon, 31 Aug 2015 10:12:43 +0000 (18:12 +0800)]
Merge pull request #5603 from wonzhq/doc-read-recency

doc: add the description for min_read_recency_for_promote

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #5460 from ceph/port/new
Kefu Chai [Mon, 31 Aug 2015 09:43:52 +0000 (17:43 +0800)]
Merge pull request #5460 from ceph/port/new

OSX and BSD derivatives port

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #4896 from xinxinsh/wip-monitor-dump-transaction
Joao Eduardo Luis [Mon, 31 Aug 2015 09:17:58 +0000 (10:17 +0100)]
Merge pull request #4896 from xinxinsh/wip-monitor-dump-transaction

MonitorDBStore : make monitor transaction more readable

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Sage Weil <sage@redhat.com>
9 years agomake: do not compile XFS.cc if --without-libxfs 5460/head
Kefu Chai [Sat, 29 Aug 2015 13:33:31 +0000 (21:33 +0800)]
make: do not compile XFS.cc if --without-libxfs

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoos/fs: include <sys/mount.h> on osx
Kefu Chai [Sat, 29 Aug 2015 12:53:40 +0000 (20:53 +0800)]
os/fs: include <sys/mount.h> on osx

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agotest_c_headers: don't use -Werror option for clang
Yan, Zheng [Mon, 17 Aug 2015 02:51:58 +0000 (10:51 +0800)]
test_c_headers: don't use -Werror option for clang

When using clang to compile ceph, there are lots of warnings:
clang: warning: argument unused during compilation: '-Wp,-D_FORTIFY_SOURCE=2'

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoceph: use 'sed -ie' to edit file in-place
Yan, Zheng [Mon, 17 Aug 2015 02:44:44 +0000 (10:44 +0800)]
ceph: use 'sed -ie' to edit file in-place

On OSX, 'sed -i script' does not work, because it considers 'script'
as suffix of backup file. 'sed -ie script' works on both OSX and Linux.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoclient: fix compile error on OSX
Yan, Zheng [Fri, 14 Aug 2015 14:52:09 +0000 (22:52 +0800)]
client: fix compile error on OSX

On OSX, type of the 3rd parameters of getgrouplist is 'int *'

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agocommon/blkdev: fix complie error on OSX/FreeBSD
Yan, Zheng [Fri, 14 Aug 2015 14:27:16 +0000 (22:27 +0800)]
common/blkdev: fix complie error on OSX/FreeBSD

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agocommon/admin_socket: fix compile error on OSX
Yan, Zheng [Fri, 14 Aug 2015 14:06:11 +0000 (22:06 +0800)]
common/admin_socket: fix compile error on OSX

Invalid operands to binary expression ('__bind<int &, sockaddr *,
unsigned long>' and 'int')

Without :: clang confuses C bind function and std::bind().

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotests: only use posix_fadvise on linux
Yan, Zheng [Fri, 14 Aug 2015 13:56:16 +0000 (21:56 +0800)]
tests: only use posix_fadvise on linux

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoos/chain_xattr: set CHAIN_XATTR_MAX_NAME_LEN according to max length of xattr name
Yan, Zheng [Fri, 31 Jul 2015 09:20:14 +0000 (17:20 +0800)]
os/chain_xattr: set CHAIN_XATTR_MAX_NAME_LEN according to max length of xattr name

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotest/admin_socket: check error message according to OS
Yan, Zheng [Fri, 31 Jul 2015 09:18:58 +0000 (17:18 +0800)]
test/admin_socket: check error message according to OS

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agocompat: move definitions in porting.h into include/compat.h
Yan, Zheng [Fri, 31 Jul 2015 02:01:01 +0000 (10:01 +0800)]
compat: move definitions in porting.h into include/compat.h

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoTestLFNIndex.cc: don't use "cp --preserve=xattr"
Yan, Zheng [Thu, 30 Jul 2015 10:15:18 +0000 (18:15 +0800)]
TestLFNIndex.cc: don't use "cp --preserve=xattr"

--preserve option is not supported by OSX's cp. use 'cp -a' instead

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotests: replace std::tr1::shared_ptr with ceph::shared_ptr
Yan, Zheng [Thu, 30 Jul 2015 08:03:56 +0000 (16:03 +0800)]
tests: replace std::tr1::shared_ptr with ceph::shared_ptr

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotests: disable unittest_blkdev on OSX
Yan, Zheng [Thu, 30 Jul 2015 08:01:46 +0000 (16:01 +0800)]
tests: disable unittest_blkdev on OSX

the test uses sysfs, which does not exist on OSX

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotest/librados: replace sem_init() with sem_open()
Yan, Zheng [Thu, 30 Jul 2015 06:31:20 +0000 (14:31 +0800)]
test/librados: replace sem_init() with sem_open()

sem_init() always fails on OSX (it's no longer supported).

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agobuffer: make buffer::exception classes undefined in dynamic objects
Yan, Zheng [Wed, 29 Jul 2015 09:44:52 +0000 (17:44 +0800)]
buffer: make buffer::exception classes undefined in dynamic objects

On OSX, if the an exception class is declared and defined in header file,
but it ends up being compiled as private symbols in different binaries.
The exception handling code will take the two compiled exception classes
as different types! In our case, the one in libcls_xxx.so and the one is
ceph-osd are considered as different classes, thus the try-catch statement
fails to work.

The fix is force buffer::exception classes undefined in libcls_xxx.so. The
ibcls_xxx.so are compiled with '-undefined dynamic_lookup' option. when
it is loaded into ceph-osd, buffer::exception classes in ceph-osd will be
used.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotest/librados: replace errno -125 with -ECANCELED
Yan, Zheng [Tue, 28 Jul 2015 09:55:30 +0000 (17:55 +0800)]
test/librados: replace errno -125 with -ECANCELED

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoclient: convert XATTR_{CREATE,REPLACE} to CEPH_XATTR_{CREATE,REPLACE}
Yan, Zheng [Mon, 27 Jul 2015 11:08:48 +0000 (19:08 +0800)]
client: convert XATTR_{CREATE,REPLACE} to CEPH_XATTR_{CREATE,REPLACE}

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoxattr: convert ENOATTR to ENODATA on DARWIN
Yan, Zheng [Mon, 27 Jul 2015 08:01:31 +0000 (16:01 +0800)]
xattr: convert ENOATTR to ENODATA on DARWIN

On Darwin, getxattr/removexattr return ENOATTR when extended
attribute does not exist. But lots of ceph codes expect ENODATA
is returned in that case. On Darwin, ENOATTR and ENODATA have
different values, so we convert ENOATTR to ENODATA.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotest_libcephfs: disable flock test on OSX
Yan, Zheng [Fri, 24 Jul 2015 10:13:22 +0000 (18:13 +0800)]
test_libcephfs: disable flock test on OSX

there is no sem_timedwait on OSX. For inter-threads communication,
we can replace sem_t with pthread_cond_t. But for inter-processes
communication, it's extremely hard to figure out how to do a timed
wait. So disable the test case on OSX

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agolibradosstriper/striping.cc: include "include/types.h"
Yan, Zheng [Fri, 24 Jul 2015 08:06:01 +0000 (16:06 +0800)]
libradosstriper/striping.cc: include "include/types.h"

include definitions of __le{32,64)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotest_c_headers: don't use -Wold-style-declaration option for clang
Yan, Zheng [Fri, 24 Jul 2015 08:03:48 +0000 (16:03 +0800)]
test_c_headers: don't use -Wold-style-declaration option for clang

clang does not support this option

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agolibcephfs: define loff_t as off_t on OSX
Yan, Zheng [Fri, 24 Jul 2015 07:30:03 +0000 (15:30 +0800)]
libcephfs: define loff_t as off_t on OSX

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agotools: link ceph-client-debug to LIBCLIENT
Yan, Zheng [Fri, 24 Jul 2015 03:32:08 +0000 (11:32 +0800)]
tools: link ceph-client-debug to LIBCLIENT

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoinit-ceph: check if /lib/lsb/init-functions exists
Yan, Zheng [Thu, 23 Jul 2015 07:07:45 +0000 (15:07 +0800)]
init-ceph: check if /lib/lsb/init-functions exists

On OSX/FreeBSD, /lib/lsb/init-functions does not exist

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoinit-ceph: don't use procfs to check if daemon is running
Yan, Zheng [Thu, 23 Jul 2015 07:05:33 +0000 (15:05 +0800)]
init-ceph: don't use procfs to check if daemon is running

use ps(1) instead, which is portable

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoinit-ceph: replace 'echo -n' with printf
Yan, Zheng [Thu, 23 Jul 2015 02:58:05 +0000 (10:58 +0800)]
init-ceph: replace 'echo -n' with printf

'echo -n' is no portable. On OSX, output of 'echo -n' can be '-n'

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agovstart.sh: use portable way to get ip address
Yan, Zheng [Thu, 23 Jul 2015 02:24:33 +0000 (10:24 +0800)]
vstart.sh: use portable way to get ip address

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agovstart.sh: append ceph library path to {LD,DYLD}_LIBRARY_PATH
Yan, Zheng [Thu, 23 Jul 2015 02:20:26 +0000 (10:20 +0800)]
vstart.sh: append ceph library path to {LD,DYLD}_LIBRARY_PATH

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoOn Darwin: subfix of dynamic library is dylib
Yan, Zheng [Thu, 23 Jul 2015 01:52:08 +0000 (09:52 +0800)]
On Darwin: subfix of dynamic library is dylib

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoporting.h: add TODO comment
Kefu Chai [Fri, 10 Jul 2015 03:53:55 +0000 (11:53 +0800)]
porting.h: add TODO comment

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMakefile: add porting.h to dist tarball
Kefu Chai [Fri, 10 Jul 2015 03:52:51 +0000 (11:52 +0800)]
Makefile: add porting.h to dist tarball

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoDon't use '--exclude-libs' linker option on DARWIN
Yan, Zheng [Mon, 6 Jul 2015 01:20:33 +0000 (09:20 +0800)]
Don't use '--exclude-libs' linker option on DARWIN

Only GNU linker supports this option

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoclient: don't try trimming kernel dcache on DARWIN/FreeBSD
Yan, Zheng [Sun, 5 Jul 2015 08:02:33 +0000 (16:02 +0800)]
client: don't try trimming kernel dcache on DARWIN/FreeBSD

still don't know if the methods used on linux also works on
DARWIN/FreeBSD

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoclient: don't include unsupported mount options on DARWIN/FreeBSD
Yan, Zheng [Sun, 5 Jul 2015 07:54:27 +0000 (15:54 +0800)]
client: don't include unsupported mount options on DARWIN/FreeBSD

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agoLink ceph-fuse to fuse on DARWIN
Yan, Zheng [Sun, 5 Jul 2015 07:49:49 +0000 (15:49 +0800)]
Link ceph-fuse to fuse on DARWIN

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agomsg: fix encoding/decoding sockaddr_storage on DARWIN/FreeBSD
Yan, Zheng [Sun, 5 Jul 2015 07:31:27 +0000 (15:31 +0800)]
msg: fix encoding/decoding sockaddr_storage on DARWIN/FreeBSD

sockaddr_storage on DARWIN/FreeBSD is different from sockaddr_storage
on Linux. sockaddr_storage on DARWIN/FreeBSD includes a ss_len field.
Besides, Its ss_len and ss_family fields are 'unsigned char'.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
9 years agolibrbd: Need to include errno.h on DARWIN.
Dennis Schafroth [Tue, 30 Jun 2015 18:39:50 +0000 (20:39 +0200)]
librbd: Need to include errno.h on DARWIN.

The file is not really required

Signed-off-by: Dennis Schafroth <dennis@schafroth.com>