Commit Graph

44612 Commits

Author SHA1 Message Date
Igor Fedotov
b69316c647 os/bluestore: fix improper blob's csum visualization.
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-16 18:28:31 +03:00
Sage Weil
456781c00a Merge pull request #9567 from liewegas/wip-bluestore-blobcache
os/bluestore: convert cache to be blob-based (vs onode-based)

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2016-06-16 10:29:10 -04:00
Sage Weil
5bb3fc4f7c os/bluestore: include device offsets in csum error message
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-16 10:13:58 -04:00
Sage Weil
eb92ea2ed3 os/bluestore: remove Onode's BufferSpace
(now unused)

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-16 10:13:58 -04:00
Sage Weil
e2a76791bf os/bluestore: change _do_read to use blob cache
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-16 10:13:58 -04:00
Yan Jun
cc1ae01673 rgw/user: remove needless bufferlist encoding
info encoded but never be used.

Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
2016-06-16 17:28:34 +08:00
Dan Mick
2380351e16 Merge pull request #9708 from tchaikov/wip-make_rocksdb_makefile-without-rdb
script/make_rocksdb_makefile.sh: do not include rocksdb/tools/rdb/*

Reviewed-by: Dan Mick <dmick@redhat.com>
Reviewed-by: Sage Weil <sweil@redhat.com>
2016-06-15 15:50:05 -07:00
John Spray
b56d1f48e7 Merge pull request #9713 from xiexingguo/xxg-wip-server_droppin
server: drop locks and auth pins before waiting for trunc

Reviewed-by: Yan, Zheng <zyan@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 23:43:28 +01:00
John Spray
9e0dbe85c4 Merge pull request #9710 from xiexingguo/xxg-wip-server_duplock
Server: avoid duplicated call to acquire_locks()

Reviewed-by: Yan, Zheng <zyan@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 23:42:43 +01:00
John Spray
d8d9f83581 Merge pull request #9706 from xiexingguo/xxg-wip-server_dcr
mds/server: avoid side-effect of more() method

Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 23:42:01 +01:00
John Spray
f66b8a96e8 Merge pull request #9647 from xiexingguo/xxg-wip-server_hcr
server: fix potential access violation

Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 23:41:37 +01:00
John Spray
bbcb125923 Merge pull request #8737 from david-z/wip-mds-slow-req-output
mds: ceph status outputs mds slow request for better monitoring

Reviewed-by: Yan, Zheng <zyan@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-15 23:40:43 +01:00
Sage Weil
5154f865c6 os/bluestore: inline and simplify _read_whole_blob
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-15 16:21:54 -04:00
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
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