Commit Graph

44159 Commits

Author SHA1 Message Date
Xiaoxi Chen
b595aac4e1 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>
2015-09-01 13:39:38 -04:00
Sage Weil
ca9bc6327d os/newstore: drop sync()
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
d57547f103 os/newstore: drop sync()
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
205344d32d os/newstore: drop flush
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
f93856f71a os/newstore: drop sync_and_flush
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
28bc4ee76e os/newstore: use FS::zero()
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
c67c9a2bee os/newstore: use O_DIRECT is write is page-aligned
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
5539a75efb os/newstore: pass flags to _{open,create}_fid
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
48f639beec os/newstore: drop unused FragmentHandle
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
93fa4f1e30 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>
2015-09-01 13:39:37 -04:00
Sage Weil
86a3f7dd51 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>
2015-09-01 13:39:37 -04:00
Sage Weil
ec21f578a7 os/newstore: fix off-by-one on overlay_max_length
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:37 -04:00
Sage Weil
f9a7fd4e4c os/newstore: use lower_bound for finding overlay extents in map
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:36 -04:00
Sage Weil
66aae98277 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>
2015-09-01 13:39:36 -04:00
Xiaoxi Chen
0981428123 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>
2015-09-01 13:39:36 -04:00
Sage Weil
97bda73ebf os/newstore: open by handle
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:36 -04:00
Sage Weil
8f2c2bff30 os/newstore: use fs abstaction layer
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:36 -04:00
Xiaoxi Chen
ef420baf1c 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>
2015-09-01 13:39:36 -04:00
Sage Weil
59cd761bca 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>
2015-09-01 13:39:36 -04:00
Sage Weil
2af1e37d7d 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>
2015-09-01 13:39:36 -04:00
Sage Weil
713c69884e os/newstore: consolite collection_list to a single implementation
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:36 -04:00
Xiaoxi Chen
a4d2a53cf6 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>
2015-09-01 13:39:36 -04:00
Sage Weil
d8351a8d9e 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>
2015-09-01 13:39:35 -04:00
Sage Weil
fbf3d5528f os/newstore: send complete overwrite to a new fid
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:35 -04:00
Sage Weil
db87e423b6 os/newstore: clone omap
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:39:35 -04:00
Sage Weil
d0a4bbaf69 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>
2015-09-01 13:39:35 -04:00
Sage Weil
10c0bfeadd vstart.sh: debug newstore 2015-09-01 13:39:18 -04:00
Sage Weil
be93b09fd2 Revert "os/Makefile.am: add os/fs/XFS.cc"
This reverts commit 32331ede41.

Doh, this is in a conditional below.
2015-09-01 13:38:03 -04:00
David Zafman
78e784d202 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>
2015-09-01 10:25:08 -07:00
Sage Weil
32331ede41 os/Makefile.am: add os/fs/XFS.cc
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-01 13:20:03 -04:00
Kefu Chai
82acd5e9ee Merge pull request #5695 from tchaikov/wip-12012
osd: translate sparse_read to read for ecpool

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-01 19:00:46 +08:00
Kefu Chai
076bad955d ceph_test_rados_api_aio: add a test for aio_sparse_read
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-09-01 13:52:37 +08:00
Kefu Chai
4d4920610e ceph_test_rados_api_io: add tests for sparse_read
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-09-01 13:49:22 +08:00
Kefu Chai
5ae2e7a185 ceph_test_rados: also send sparse_read in ReadOp
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-09-01 13:49:22 +08:00
Kefu Chai
a5bfde69a9 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>
2015-09-01 13:49:21 +08:00
Kefu Chai
700d42ef1c osd: translate sparse_read to read for ecpool
Fixes: #12012
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-09-01 13:49:21 +08:00
David Zafman
28324fdb08 osd: Fix the diagnostic logging mostly to dout(20)
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-08-31 19:30:00 -07:00
Loic Dachary
bf75b309ec Merge pull request #5652 from dachary/wip-mailmap
mailmap updates

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-08-31 22:35:12 +02:00
Sage Weil
403144f506 ceph.spec: package cls_numops
Signed-off-by: Sage Weil <sage@redhat.com>
2015-08-31 15:58:20 -04:00
Sage Weil
bdc6b6816c Merge pull request #5684 from liewegas/wip-hammer-corpus
add hammer objects to ceph-object-corpus
2015-08-31 13:50:11 -04:00
Sage Weil
548a04e0cf 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>
2015-08-31 13:31:06 -04:00
Sage Weil
589fa81518 Merge pull request #5357 from ceph/wip-12325
mon: LogMonitor: handle boolean options consistently

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-08-31 11:33:13 -04:00
Sage Weil
ad3f16912b Merge remote-tracking branch 'gh/infernalis' 2015-08-31 11:29:14 -04:00
Sage Weil
b518b6811f 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>
2015-08-31 11:08:46 -04:00
Sage Weil
9245007293 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>
2015-08-31 11:06:52 -04:00
Sage Weil
9979bb6cc7 Merge pull request #5699 from dachary/wip-11881-multipath
ceph-disk: add multipath support

Reviewed-by: Sage Weil <sage@redhat.com>
2015-08-31 11:06:27 -04:00
Kefu Chai
7a09ea09e2 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>
2015-08-31 22:33:15 +08:00
Kadu Ribeiro
d05e531dc0 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>
2015-08-31 11:28:05 -03:00
Sage Weil
f030af3cd3 Merge pull request #4869 from joaquimrocha/cls_numops
CLS numops

Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
2015-08-31 10:16:10 -04:00
Gregory Farnum
728e2229a8 Merge pull request #5724 from ceph/wip-i386
perf_serialize: fix i386 build

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-08-31 15:12:19 +01:00