Sage Weil
b7168d983c
os/bluestore: use _dump_blob_map helper
...
Unify bnode and onode dump output.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:21:54 -04:00
Sage Weil
85af407cb3
os/bluestore: do writes into blob buffer cache
...
No change to the read-side yet.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:21:53 -04:00
Sage Weil
44523afe92
ceph_test_objectstore: use single bl_eq helper
...
Use a single bl comparator helper that dumps buffers if they do not match.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:21:53 -04:00
Sage Weil
d445d5b8cc
os/bluestore: clean up csum read error checks
...
Fix warning message and return error code.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:06:24 -04:00
Sage Weil
3ef840d88a
os/bluestore: use Blob* in WriteContext::write_item
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:06:24 -04:00
Sage Weil
de6b2584b0
os/bluestore: switch to intrusive_set for blobs
...
Switch from a map of bare bluestore_blob_t's to an intrusive_set of
Blob structs that includes id, bluestore_blob_t, and BufferSpace. The
buffer cache portion isn't used yet, but it is properly initialized with
the Cache parent.
There is no real functional change here except that during clone we move
the existing Blob from the Onode's BlobMap to the Bnode's without any
copying.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:05:04 -04:00
Sage Weil
e65d2b8692
os/bluestore: move blob_map out of onode_t
...
Move the blob_map index out of the onode_t proper. None of the (important)
onode_t methods use the blob_map, which is expected since blobs may exist
in the onode or bnode map. Instead, move it into Onode, parallel the
Bnode counterpart.
This will allow us to create a blob map that includes the buffer cache
with an encode/decode and lifecycle independent of the onode_t.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:58:23 -04:00
Sage Weil
20d75c533c
Merge pull request #9526 from liewegas/wip-bluestore-csum2
...
os/bluestore: vary csum chunk sizes based on hints
Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 15:57:30 -04:00
Sage Weil
e84c0ad933
os/bluestore: add crc32c_16 and crc32c_8
...
This is much faster than a slice-by-8 crc16, perhaps even without the
intel instructions.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
c9cdc74687
os/bluestore: whitespace
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
21971b57ad
compressor/snappy: style cleanup
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
765a9d0e75
compressor/snappy: compress to page-aligned memory buffer
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
5b2ce732d6
os/bluestore: remove unused ext_offset region_t field
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
9d643af753
os/bluestore: simplify spare read path, remove pextent constraint
...
The previous read code had the constraint that a physical extent had to
be a multiple of the csum chunk size. This isn't needed: we might have
a csum_block of 1MB and min_alloc_size of 4KB and that's okay.
Collapse the two helpers into a single loop that uses the blob_t::map()
method to do the pextent part of the read. This is simpler and avoids
the temporary extents2read structure.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
819dd4e57c
os/bluestore: csum_block -> csum_chunk
...
Be consistent with terminology.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:30 -04:00
Sage Weil
bd8ac2157e
os/bluestore: ensure blob_t::put_ref respects csum chunk size
...
We can't deallocate part of a csum chunk.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
a82c72b2c7
ceph_test_objectstore: test larger writes from Synthetic
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
ab81564bb8
ceph_test_objectstore: randomly vary object size and write size hints
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
95430201de
os/bluestore: choose better csum_order in _do_alloc_write
...
Try to use the wctx hint, but set a floor based on the buffer length.
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
0e8294c9aa
os/bluestore: make preferred csum order a function of expected_write_size
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
d9648dc0dc
os/bluestore: use larger csum blocks for sequential writes
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
cfc688d01e
os/bluestore: fix _do_alloc_write compress condition
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
0a4e8b266f
os/bluestore: set csum_order via WriteContext
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
cbb65c0edf
os/bluestore: maintain min_alloc_size_order
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
f7d9699279
ceph_test_objectstore: test alloc hints
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:29 -04:00
Sage Weil
541888f091
os/bluestore: print alloc hint flags as a string
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:28 -04:00
Sage Weil
4079eb421e
osd/osd_types: add ceph_osd_alloc_hint_flag_string helper
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:28 -04:00
Sage Weil
9ab1b90325
os/bluestore: _setallochint -> _set_alloc_hint
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:28 -04:00
Sage Weil
65f379bf3b
os/bluestore: do not print bnode key to debug
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:25:28 -04:00
Sage Weil
5b76e1d948
Merge pull request #9607 from ifed01/wip-bluestore-statfs-fsck
...
os/bluestore: add statfs result consistency checking to fsck
Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-15 15:24:47 -04:00
Sage Weil
e09acd7b54
Merge pull request #9524 from liewegas/wip-ctz
...
common: add cbits/ctz/clz bit op helpers, replace open-coded calc_bits_for helpers
Reviewed-by: Samuel Just <sjust@redhat.com>
2016-06-15 15:14:30 -04:00
Sage Weil
3e3f48b908
os/bluestore/StupidAllocator: use cbits instead of calculating shift manually
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:13:55 -04:00
Sage Weil
e411302229
osd/osd_types: pg_pool_t::calc_bits_of -> cbits
...
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 15:13:55 -04:00
Sage Weil
bd2f897f90
Merge pull request #9696 from ifed01/wip-bluestore-csum-fixes
...
os/bluestore: fix for unaligned writes and improve test coverage
Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-15 15:12:14 -04:00
Sage Weil
3c8c9b886c
Merge pull request #9604 from ifed01/wip-bluestore-maxalloc
...
os/bluestore: add an option to limit max allocation size
Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-15 15:05:51 -04:00
Sage Weil
fb1c16f594
Merge pull request #9378 from xiexingguo/xxg-wip-fix-piderrorcode
...
global: negative error return code for pidfh::write()
Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-06-15 15:04:42 -04:00
Sage Weil
2fd1390f48
Merge pull request #9397 from xiexingguo/xxg-wip-fixsocketfd-leak
...
common/admin_socket: fix socket fd leak
Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-06-15 15:04:26 -04:00
Matt Benjamin
0328fd8b70
Merge pull request #8679 from prallabh/master
...
rgw: Have a flavor of bucket deletion to bypass GC.
it gets the OSDs substantially hotter (CPU), but is a large speedup (I measured 54% on a small setup, some distortion from debugging)
2016-06-15 11:09:35 -04:00
Igor Fedotov
5a7a5e4404
os/bluestore: fix exceeding blob number after random 4K writes
...
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 17:07:14 +03:00
Igor Fedotov
a3f4689c32
test/store_test: add an additional bluestore test case to verify for exceeding blob number
...
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 17:05:41 +03:00
Kefu Chai
5dd043099e
Merge pull request #9666 from ceph/wip-ceph_test_objectstore
...
test: ceph_test_objectstore: do not override plugin-dir if not necessary
Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 21:39:08 +08:00
Kefu Chai
ed19466b9f
vstart.sh: set plugin-dir for cmake
2016-06-15 21:23:40 +08:00
Kefu Chai
9c4d1beca1
test: ceph_test_objectstore: do not override plugin-dir if not necessary
...
there is chance that we launch the test with the plugins installed in
`/usr/${lib}/ceph'. and we don't have ".lib" or $CEPH_LIB for
ceph_test_objectstore, in this case, we should leave plugin-dir
unchanged. it will work just fine if ceph-base or ceph-common is
installed.
Fixes: http://tracker.ceph.com/issues/16254
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-15 21:23:40 +08:00
Jason Dillaman
7833e5c468
Merge pull request #9709 from trociny/wip-16289
...
qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-06-15 08:54:10 -04:00
Igor Fedotov
99b5b83e73
os/bluestore: fixes assert on unaligned writes when csum verification is disabled
...
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 14:57:10 +03:00
Loic Dachary
02d27da0c9
Merge pull request #9442 from houlinfei/wip-modify-parlistseq
...
ceph-disk: modify the disk partition sequence of ceph-disk list
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-06-15 13:56:26 +02:00
Igor Fedotov
cc5ac8c4cc
objectstore/store_test: improves test coverage for Bluestore - adds no csum and many 4K writes cases. Fix corresponding issues in testing framework.
...
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-15 14:56:03 +03:00
Orit Wasserman
f93bbc94f8
Merge pull request #9354 from dreamhost/wip-15975
...
rgw: Fallback to Host header for bucket name.
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-06-15 11:42:09 +02:00
John Spray
c18217b5d0
Merge pull request #9681 from xiexingguo/xxg-wip-server_ts
...
server: set terminating_sessions flag correctly
Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 09:45:43 +01:00
John Spray
5138ad16ff
Merge pull request #9693 from xiexingguo/xxg-wip-server_hco2
...
server: negative error code when responding to client
Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 09:38:17 +01:00