Commit Graph

47113 Commits

Author SHA1 Message Date
Sage Weil
97373a7723 osd: do not catch mkfs exceptions
We either want to take a clean error path, or dump core.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
34a0f30bbd os/bluestore/StupidAllocator: be less stupid about alloc_unit
Make sure the extent we return is aligned to alloc_unit.  If the first
extent isn't suitable, try the next one.

Keep bin 0 for things that are smaller than min_alloc_size.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
602b8de834 unittest_bluestore_types: fix warnings
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
893bfc7eda os/bluestore/bluestore_types: fix bluestore_extent_ref_map_t test inst
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
b16f591b1d os/Makefile: cosmetic
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
d2b5e926b8 os/fs: move btrfs_ioctl.h to os/fs
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:53 -05:00
Sage Weil
8fc65e1b40 os/ZFS: move to os/fs
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:52 -05:00
Sage Weil
98a0e107aa os/keyvaluestore: move KeyValueStore into os/keyvaluestore/*
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:52 -05:00
Sage Weil
82cbc079d7 os/memstore: move MemStore into os/memstore/*
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:52 -05:00
Sage Weil
ba2cc1eb6e os/filestore: move FileStore to os/filestore/*
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:08:52 -05:00
Sage Weil
e07ab3e223 ceph:small_io_bench_dumb: drop unused include
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
6c1ef47574 ceph-objectstore-tool: drop unused FileSTore include
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
f941642ce6 remove ceph_streamtest
This is an ancient obsolete test that is never used.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
5b57b098e6 os/bluestore: allocate shouldn't fail if reserve succeeded
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
6641482ce8 os/bluestore/Allocator: add unreserve()
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
2b2cc88d33 os/bluestore/StupidAllocator: fix reservation release on allocate
Use up the amount we allocated, not the amount we asked for.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
193d25f786 os/bluestore/StupidAllocator: add reservation assertions
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:29 -05:00
Sage Weil
624e9968ff os/kstore: do not include header in omap iterator result
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
b25a2428a1 os/bluestore: do not include header in iterator result
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
0f85d86ca6 osd/ReplicatedPG: print omap_digest in debug log
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
0cde5890e5 ceph_test_objectstore: add omap iterator test
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
5f87bab2f9 ceph-objectstore-tool: add fsck command
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
da9266d0ef os/ObjectStore: add fsck to interface
Only bluestore and kstore implement this currently.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:28 -05:00
Sage Weil
789e99cf45 os/kstore: clear onode on _do_remove
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
9aca4ad9eb os/bluestore: clear onode in _do_remove
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
fd2659ddcb osd/PGBackend: fix omap digest error message
Print the *omap* digest, not *data* digest.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
56375c596b os: remove {get,set}_allow_sharded_objects from interface
We've already forced everyone to upgrade through hammer, so everyone
supports this.  Just unconditionally set the feature if it is not set
(for consistency's sake).

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
93964a72f2 os/bluestore/BlueFS: do not flush metadata on flush()
That's what fsync is for.  Moreover, this can lead to some squirreliness
if we trigger this from _flush_log().

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
cff5dc5d12 os/bluestore/BlockDevice: helpful error when aio cannot init
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:27 -05:00
Sage Weil
d48a2ba9f7 os/bluestore/FreelistManager: audit
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
5662bd8b2e os/bluestore/BlueFS: implement invalidate_cache
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
225d3cdb27 os/bluestore/BlockDevice: add invalidate_cache
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
8e965db8e4 os/bluestore: simplify _do_remove
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
e25cf208a7 os/bluestore: debug msg on statfs
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
0a6f35dc47 os/bluestore: optimize _dump_onode slightly
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
de8a99d166 ceph_test_objectstore: enable bluestore debug options
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:26 -05:00
Sage Weil
5534d2b566 os/bluestore/BlueStore: fsck_on_umount
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
a684a590a5 os/bluestore/StupidAllocator: bluestore_debug_small_allocations
Force small allocations for debugging purposes.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
4aa5f025ea os/bluestore/BlueStore: fix _zero when previous extent partially unwritten
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
b758d9fb1f os/bluestore: support copy-on-write clones
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
8ebb3901cc os/bluestore/BlueStore: only allow clone if hash matches
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
64b4e2f612 os/bluestore: Enode infrastructure
Enodes will track extent ref counts for any extent
that is marked shared.  There will be an enode for
any unique hash value that has any refs.  We will keep
in-memory copies of only those Enodes that are
referenced by in-memory Onodes, and only if the enode
is requested (e.g., the enode won't be loaded as a
result of an object read because we never need to
call get_enode.).

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
fd75b4e44f os/bluestore/bluestore_types: add extent FLAG_COW_{HEAD,TAIL}
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:25 -05:00
Sage Weil
e93e92624c unittest_bluefs, unittest_bluestore_types
These should run during make check.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
45801ed476 os/bluestore/bluestore_types: add contains(), clear(), empty() to extent_ref_map
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
97bf343552 os/bluestore/BlueStore: wal_op_t::OP_COPY
Assume block-aligned.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
d927919a4b os/bluestore/BlockDevice: fix waiter wakeup use-after-free race
Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
2f9be0cc80 os/bluestore: add bluestore_debug_no_reuse_blocks
This makes debugging a bit easier because we never use the same
extent of the disk twice, leaving useful evidence behind.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
a583e5decb ceph_test_objectstore: do Synthetic tests over larger objects
400k for objects.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:24 -05:00
Sage Weil
eeb2251ebe ceph_test_objectstore: use a few hash values for objects; clone between them
We only guarantee support for clone between objects with the same hash.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-01 13:07:23 -05:00