]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoos: remove duplicated assignment 7095/head
xie xingguo [Mon, 4 Jan 2016 11:50:02 +0000 (19:50 +0800)]
os: remove duplicated assignment

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoos: remove redundant omap_head check logic
xie xingguo [Mon, 4 Jan 2016 09:56:57 +0000 (17:56 +0800)]
os: remove redundant omap_head check logic

It will never be reachable.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoos: remove unused local variable
xie xingguo [Mon, 4 Jan 2016 07:22:35 +0000 (15:22 +0800)]
os: remove unused local variable

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoos: remove redundant cleanup
xie xingguo [Mon, 4 Jan 2016 07:14:08 +0000 (15:14 +0800)]
os: remove redundant cleanup

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoos: reset result code to errno for better tracing
xie xingguo [Mon, 4 Jan 2016 07:12:57 +0000 (15:12 +0800)]
os: reset result code to errno for better tracing

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoos: fix potential null pointer access
xie xingguo [Mon, 4 Jan 2016 07:09:59 +0000 (15:09 +0800)]
os: fix potential null pointer access

Fixes: #14204
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agoMerge pull request #7016 from xiexingguo/xxg-wip-14151
Sage Weil [Sun, 3 Jan 2016 18:20:01 +0000 (13:20 -0500)]
Merge pull request #7016 from xiexingguo/xxg-wip-14151

osd: fix sparse-read result code checking logic

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7031 from wonzhq/log-monitor-2
Sage Weil [Sun, 3 Jan 2016 18:19:30 +0000 (13:19 -0500)]
Merge pull request #7031 from wonzhq/log-monitor-2

mon: fix the can't change subscribe level bug in monitoring log

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7009 from majianpeng/osd-scrub-sleep-cause-thread-suicide
Sage Weil [Sun, 3 Jan 2016 18:19:10 +0000 (13:19 -0500)]
Merge pull request #7009 from majianpeng/osd-scrub-sleep-cause-thread-suicide

osd: avoid osd_op_thread suicide because osd_scrub_sleep

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7007 from tchaikov/wip-13990
Sage Weil [Sun, 3 Jan 2016 18:18:54 +0000 (13:18 -0500)]
Merge pull request #7007 from tchaikov/wip-13990

osd: do not keep ref of old osdmap in pg

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6977 from stiopaa1/msg_override
Sage Weil [Sun, 3 Jan 2016 18:18:39 +0000 (13:18 -0500)]
Merge pull request #6977 from stiopaa1/msg_override

msg: add override to virutal methods

Reviewed-by: Casey Bodley <cbodley@redhat.com>
9 years agoMerge pull request #6916 from xiexingguo/xxg-wip-14072
Sage Weil [Sun, 3 Jan 2016 18:17:51 +0000 (13:17 -0500)]
Merge pull request #6916 from xiexingguo/xxg-wip-14072

osd: fix null pointer access and race condition

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7028 from yuyuyu101/wip-async-emplace
Sage Weil [Sun, 3 Jan 2016 18:16:01 +0000 (13:16 -0500)]
Merge pull request #7028 from yuyuyu101/wip-async-emplace

msg/async: don't use shared_ptr to manage EventCallback

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #6896 from liewegas/wip-bluestore
Sage Weil [Sun, 3 Jan 2016 18:15:13 +0000 (13:15 -0500)]
Merge pull request #6896 from liewegas/wip-bluestore

bluestore: latest and greatest

9 years agoqa/workunits/rados/test_rados_tool.sh: fix path 6896/head
Sage Weil [Sun, 3 Jan 2016 18:05:22 +0000 (13:05 -0500)]
qa/workunits/rados/test_rados_tool.sh: fix path

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoqa/workunits/rados/test_rados_tool: adapt to new buffer hexdump
Sage Weil [Sun, 3 Jan 2016 02:14:35 +0000 (21:14 -0500)]
qa/workunits/rados/test_rados_tool: adapt to new buffer hexdump

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agouniform the type format
Ning Yao [Fri, 11 Dec 2015 14:21:32 +0000 (22:21 +0800)]
uniform the type format

Signed-off-by: Ning Yao <zay11022@gmail.com>
9 years agoos/bluestore/BlueStore: fix overlay keys
YiQiang Chen [Thu, 31 Dec 2015 15:31:54 +0000 (10:31 -0500)]
os/bluestore/BlueStore: fix overlay keys

Signed-off-by: YiQiang Chen <cyqsign@163.com>
9 years agofs: fix unclosed formatter session
xie.xingguo [Thu, 31 Dec 2015 15:25:53 +0000 (10:25 -0500)]
fs: fix unclosed formatter session

Fixes: #14210
Signed-off-by: xie.xingguo <xie.xingguo@zte.com.cn>
9 years agoqa/workunits/cephtool/test.sh: leave sortbitwise set
Sage Weil [Thu, 31 Dec 2015 14:07:57 +0000 (09:07 -0500)]
qa/workunits/cephtool/test.sh: leave sortbitwise set

New backends don't work if it's off.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: remove deleted file from dirty list
Sage Weil [Thu, 31 Dec 2015 13:55:06 +0000 (08:55 -0500)]
os/bluestore/BlueFS: remove deleted file from dirty list

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: Don't forget close fd in _setup_block_symlink_or_file.
Jianpeng Ma [Thu, 31 Dec 2015 11:11:40 +0000 (19:11 +0800)]
os/bluestore: Don't forget close fd in _setup_block_symlink_or_file.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
9 years agoos/bluestore: write 'type' file
Sage Weil [Wed, 30 Dec 2015 21:53:41 +0000 (16:53 -0500)]
os/bluestore: write 'type' file

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph-objectstore-tool: don't require journal path
Sage Weil [Wed, 30 Dec 2015 15:26:16 +0000 (10:26 -0500)]
ceph-objectstore-tool: don't require journal path

Assume journal symlink is present.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph-objectstore-tool: get store type from 'type' file, if present
Sage Weil [Wed, 30 Dec 2015 15:22:35 +0000 (10:22 -0500)]
ceph-objectstore-tool: get store type from 'type' file, if present

Just like ceph-osd.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: wait for flush aios to complete before returning
Sage Weil [Wed, 30 Dec 2015 15:16:19 +0000 (10:16 -0500)]
os/bluestore/BlueFS: wait for flush aios to complete before returning

This makes all the IOs effectively synchronous (while holding the lock),
which isn't great, but at least it's correct.  We can contemplate async
later..

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlockDevice: clean up aio completion a bit
Sage Weil [Wed, 30 Dec 2015 15:15:22 +0000 (10:15 -0500)]
os/bluestore/BlockDevice: clean up aio completion a bit

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: delay IOContext dtor until after io completes
Sage Weil [Tue, 29 Dec 2015 18:43:03 +0000 (13:43 -0500)]
os/bluestore/BlueFS: delay IOContext dtor until after io completes

It's possible for the IO to be in flight when the caller closes the
writer handle (although dangerous of them).  Queue the IOContext for
async cleanup when we sync everything to disk.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: fix a few leaks
Sage Weil [Tue, 29 Dec 2015 18:21:34 +0000 (13:21 -0500)]
os/bluestore/BlueFS: fix a few leaks

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: close cct on shutdown
Sage Weil [Tue, 29 Dec 2015 18:13:57 +0000 (13:13 -0500)]
ceph_test_objectstore: close cct on shutdown

This lets us do leak checking.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueRocksEnv: fix several leaks
Sage Weil [Tue, 29 Dec 2015 18:00:47 +0000 (13:00 -0500)]
os/bluestore/BlueRocksEnv: fix several leaks

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: fix leak of iocs in writer
Sage Weil [Tue, 29 Dec 2015 18:10:17 +0000 (13:10 -0500)]
os/bluestore/BlueFS: fix leak of iocs in writer

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agokv/RocksDBStore: fix leak of custom Env
Sage Weil [Tue, 29 Dec 2015 18:01:30 +0000 (13:01 -0500)]
kv/RocksDBStore: fix leak of custom Env

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlockDevice: fix FS leak
Sage Weil [Tue, 29 Dec 2015 18:00:22 +0000 (13:00 -0500)]
os/bluestore/BlockDevice: fix FS leak

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agovstart.sh: no need for 'quit' to ceph cli
Sage Weil [Tue, 29 Dec 2015 14:55:22 +0000 (09:55 -0500)]
vstart.sh: no need for 'quit' to ceph cli

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agovstart.sh: k=2 for ec
Sage Weil [Tue, 29 Dec 2015 14:54:03 +0000 (09:54 -0500)]
vstart.sh: k=2 for ec

It didn't like k=1 with the default profile.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: be tolerant of collection_list bounds
Sage Weil [Tue, 29 Dec 2015 14:45:47 +0000 (09:45 -0500)]
os/bluestore: be tolerant of collection_list bounds

In particular, we may get a shard specified along with hobject_t min or
max (from PGBackend::objects_list_range()).

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoCMakeLists: update for os/ reorg
Sage Weil [Mon, 28 Dec 2015 19:00:42 +0000 (14:00 -0500)]
CMakeLists: update for os/ reorg

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/Makefile: fix typo
Sage Weil [Fri, 25 Dec 2015 14:16:32 +0000 (09:16 -0500)]
os/Makefile: fix typo

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: cache in-flight stripe updates in memory
Sage Weil [Thu, 24 Dec 2015 18:39:43 +0000 (13:39 -0500)]
os/kstore: cache in-flight stripe updates in memory

The write process may do a read/modify/write on a stripe.  In order to
allow multiple writes to coexist within the same transaction, we need to
be able to "see" our writes.

Clear the "cached" stripe values when the last TransContext touching an
onode is finished.  In theory we could pin memory with a constant stream
of updates to an object; we may need to address that later.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agocommon/buffer: make hexdump look like 'hexdump -C ...'
Sage Weil [Thu, 24 Dec 2015 15:41:08 +0000 (10:41 -0500)]
common/buffer: make hexdump look like 'hexdump -C ...'

...the better to diff them with.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: debug nid
Sage Weil [Thu, 24 Dec 2015 15:17:06 +0000 (10:17 -0500)]
os/kstore: debug nid

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: fix bugs in read stripe logic
Sage Weil [Thu, 24 Dec 2015 15:16:52 +0000 (10:16 -0500)]
os/kstore: fix bugs in read stripe logic

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: clean out test dir for each test
Sage Weil [Wed, 23 Dec 2015 22:55:22 +0000 (17:55 -0500)]
ceph_test_objectstore: clean out test dir for each test

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: clear coll_map on umount
Sage Weil [Thu, 24 Dec 2015 14:20:05 +0000 (09:20 -0500)]
os/kstore: clear coll_map on umount

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd: do not catch mkfs exceptions
Sage Weil [Wed, 23 Dec 2015 21:38:50 +0000 (16:38 -0500)]
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>
9 years agoos/bluestore/StupidAllocator: be less stupid about alloc_unit
Sage Weil [Wed, 23 Dec 2015 21:29:27 +0000 (16:29 -0500)]
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>
9 years agounittest_bluestore_types: fix warnings
Sage Weil [Wed, 23 Dec 2015 16:58:17 +0000 (11:58 -0500)]
unittest_bluestore_types: fix warnings

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/bluestore_types: fix bluestore_extent_ref_map_t test inst
Sage Weil [Wed, 23 Dec 2015 16:58:07 +0000 (11:58 -0500)]
os/bluestore/bluestore_types: fix bluestore_extent_ref_map_t test inst

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/Makefile: cosmetic
Sage Weil [Wed, 23 Dec 2015 16:35:05 +0000 (11:35 -0500)]
os/Makefile: cosmetic

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/fs: move btrfs_ioctl.h to os/fs
Sage Weil [Wed, 23 Dec 2015 16:34:22 +0000 (11:34 -0500)]
os/fs: move btrfs_ioctl.h to os/fs

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/ZFS: move to os/fs
Sage Weil [Wed, 23 Dec 2015 16:32:28 +0000 (11:32 -0500)]
os/ZFS: move to os/fs

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/keyvaluestore: move KeyValueStore into os/keyvaluestore/*
Sage Weil [Wed, 23 Dec 2015 16:30:30 +0000 (11:30 -0500)]
os/keyvaluestore: move KeyValueStore into os/keyvaluestore/*

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/memstore: move MemStore into os/memstore/*
Sage Weil [Wed, 23 Dec 2015 16:28:26 +0000 (11:28 -0500)]
os/memstore: move MemStore into os/memstore/*

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/filestore: move FileStore to os/filestore/*
Sage Weil [Wed, 23 Dec 2015 15:58:30 +0000 (10:58 -0500)]
os/filestore: move FileStore to os/filestore/*

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph:small_io_bench_dumb: drop unused include
Sage Weil [Wed, 23 Dec 2015 15:40:53 +0000 (10:40 -0500)]
ceph:small_io_bench_dumb: drop unused include

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph-objectstore-tool: drop unused FileSTore include
Sage Weil [Wed, 23 Dec 2015 15:40:38 +0000 (10:40 -0500)]
ceph-objectstore-tool: drop unused FileSTore include

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoremove ceph_streamtest
Sage Weil [Wed, 23 Dec 2015 15:38:08 +0000 (10:38 -0500)]
remove ceph_streamtest

This is an ancient obsolete test that is never used.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: allocate shouldn't fail if reserve succeeded
Sage Weil [Wed, 23 Dec 2015 15:21:25 +0000 (10:21 -0500)]
os/bluestore: allocate shouldn't fail if reserve succeeded

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/Allocator: add unreserve()
Sage Weil [Wed, 23 Dec 2015 15:19:49 +0000 (10:19 -0500)]
os/bluestore/Allocator: add unreserve()

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/StupidAllocator: fix reservation release on allocate
Sage Weil [Wed, 23 Dec 2015 15:19:17 +0000 (10:19 -0500)]
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>
9 years agoos/bluestore/StupidAllocator: add reservation assertions
Sage Weil [Wed, 23 Dec 2015 15:17:44 +0000 (10:17 -0500)]
os/bluestore/StupidAllocator: add reservation assertions

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: do not include header in omap iterator result
Sage Weil [Wed, 23 Dec 2015 14:22:34 +0000 (09:22 -0500)]
os/kstore: do not include header in omap iterator result

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: do not include header in iterator result
Sage Weil [Wed, 23 Dec 2015 14:22:26 +0000 (09:22 -0500)]
os/bluestore: do not include header in iterator result

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd/ReplicatedPG: print omap_digest in debug log
Sage Weil [Wed, 23 Dec 2015 14:21:09 +0000 (09:21 -0500)]
osd/ReplicatedPG: print omap_digest in debug log

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: add omap iterator test
Sage Weil [Wed, 23 Dec 2015 14:20:49 +0000 (09:20 -0500)]
ceph_test_objectstore: add omap iterator test

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph-objectstore-tool: add fsck command
Sage Weil [Tue, 22 Dec 2015 22:45:29 +0000 (17:45 -0500)]
ceph-objectstore-tool: add fsck command

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/ObjectStore: add fsck to interface
Sage Weil [Tue, 22 Dec 2015 22:30:48 +0000 (17:30 -0500)]
os/ObjectStore: add fsck to interface

Only bluestore and kstore implement this currently.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/kstore: clear onode on _do_remove
Sage Weil [Tue, 22 Dec 2015 22:27:17 +0000 (17:27 -0500)]
os/kstore: clear onode on _do_remove

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: clear onode in _do_remove
Sage Weil [Tue, 22 Dec 2015 22:27:10 +0000 (17:27 -0500)]
os/bluestore: clear onode in _do_remove

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd/PGBackend: fix omap digest error message
Sage Weil [Tue, 22 Dec 2015 22:19:45 +0000 (17:19 -0500)]
osd/PGBackend: fix omap digest error message

Print the *omap* digest, not *data* digest.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos: remove {get,set}_allow_sharded_objects from interface
Sage Weil [Tue, 22 Dec 2015 22:13:15 +0000 (17:13 -0500)]
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>
9 years agoos/bluestore/BlueFS: do not flush metadata on flush()
Sage Weil [Tue, 22 Dec 2015 21:38:34 +0000 (16:38 -0500)]
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>
9 years agoos/bluestore/BlockDevice: helpful error when aio cannot init
Sage Weil [Tue, 22 Dec 2015 21:36:59 +0000 (16:36 -0500)]
os/bluestore/BlockDevice: helpful error when aio cannot init

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/FreelistManager: audit
Sage Weil [Tue, 22 Dec 2015 21:36:42 +0000 (16:36 -0500)]
os/bluestore/FreelistManager: audit

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: implement invalidate_cache
Sage Weil [Tue, 22 Dec 2015 21:11:48 +0000 (16:11 -0500)]
os/bluestore/BlueFS: implement invalidate_cache

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlockDevice: add invalidate_cache
Sage Weil [Tue, 22 Dec 2015 21:11:32 +0000 (16:11 -0500)]
os/bluestore/BlockDevice: add invalidate_cache

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: simplify _do_remove
Sage Weil [Tue, 22 Dec 2015 21:11:00 +0000 (16:11 -0500)]
os/bluestore: simplify _do_remove

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: debug msg on statfs
Sage Weil [Tue, 22 Dec 2015 19:53:13 +0000 (14:53 -0500)]
os/bluestore: debug msg on statfs

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: optimize _dump_onode slightly
Sage Weil [Tue, 22 Dec 2015 19:26:09 +0000 (14:26 -0500)]
os/bluestore: optimize _dump_onode slightly

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: enable bluestore debug options
Sage Weil [Tue, 22 Dec 2015 19:02:33 +0000 (14:02 -0500)]
ceph_test_objectstore: enable bluestore debug options

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueStore: fsck_on_umount
Sage Weil [Tue, 22 Dec 2015 19:02:05 +0000 (14:02 -0500)]
os/bluestore/BlueStore: fsck_on_umount

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/StupidAllocator: bluestore_debug_small_allocations
Sage Weil [Tue, 22 Dec 2015 19:05:35 +0000 (14:05 -0500)]
os/bluestore/StupidAllocator: bluestore_debug_small_allocations

Force small allocations for debugging purposes.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueStore: fix _zero when previous extent partially unwritten
Sage Weil [Tue, 22 Dec 2015 19:33:02 +0000 (14:33 -0500)]
os/bluestore/BlueStore: fix _zero when previous extent partially unwritten

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: support copy-on-write clones
Sage Weil [Tue, 22 Dec 2015 19:32:40 +0000 (14:32 -0500)]
os/bluestore: support copy-on-write clones

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueStore: only allow clone if hash matches
Sage Weil [Fri, 18 Dec 2015 22:41:01 +0000 (17:41 -0500)]
os/bluestore/BlueStore: only allow clone if hash matches

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: Enode infrastructure
Sage Weil [Mon, 14 Dec 2015 21:57:10 +0000 (16:57 -0500)]
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>
9 years agoos/bluestore/bluestore_types: add extent FLAG_COW_{HEAD,TAIL}
Sage Weil [Tue, 15 Dec 2015 20:13:08 +0000 (15:13 -0500)]
os/bluestore/bluestore_types: add extent FLAG_COW_{HEAD,TAIL}

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agounittest_bluefs, unittest_bluestore_types
Sage Weil [Thu, 17 Dec 2015 19:14:44 +0000 (14:14 -0500)]
unittest_bluefs, unittest_bluestore_types

These should run during make check.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/bluestore_types: add contains(), clear(), empty() to extent_ref_map
Sage Weil [Mon, 14 Dec 2015 21:58:15 +0000 (16:58 -0500)]
os/bluestore/bluestore_types: add contains(), clear(), empty() to extent_ref_map

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueStore: wal_op_t::OP_COPY
Sage Weil [Mon, 14 Dec 2015 20:53:41 +0000 (15:53 -0500)]
os/bluestore/BlueStore: wal_op_t::OP_COPY

Assume block-aligned.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlockDevice: fix waiter wakeup use-after-free race
Sage Weil [Fri, 18 Dec 2015 22:33:41 +0000 (17:33 -0500)]
os/bluestore/BlockDevice: fix waiter wakeup use-after-free race

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore: add bluestore_debug_no_reuse_blocks
Sage Weil [Tue, 22 Dec 2015 19:03:33 +0000 (14:03 -0500)]
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>
9 years agoceph_test_objectstore: do Synthetic tests over larger objects
Sage Weil [Fri, 18 Dec 2015 22:45:27 +0000 (17:45 -0500)]
ceph_test_objectstore: do Synthetic tests over larger objects

400k for objects.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: use a few hash values for objects; clone between them
Sage Weil [Thu, 17 Dec 2015 19:15:48 +0000 (14:15 -0500)]
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>
9 years agoceph_test_objectstore: dump actual vs expected on read data mismatch
Sage Weil [Thu, 17 Dec 2015 19:17:35 +0000 (14:17 -0500)]
ceph_test_objectstore: dump actual vs expected on read data mismatch

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: add many clone tests
Sage Weil [Thu, 17 Dec 2015 19:15:33 +0000 (14:15 -0500)]
ceph_test_objectstore: add many clone tests

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: validate full object contents after writes
Sage Weil [Thu, 17 Dec 2015 18:59:36 +0000 (13:59 -0500)]
ceph_test_objectstore: validate full object contents after writes

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: debug enter/exit points
Sage Weil [Thu, 17 Dec 2015 16:28:33 +0000 (11:28 -0500)]
ceph_test_objectstore: debug enter/exit points

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph_test_objectstore: save map lookups for a few ops
Sage Weil [Thu, 17 Dec 2015 16:28:14 +0000 (11:28 -0500)]
ceph_test_objectstore: save map lookups for a few ops

Signed-off-by: Sage Weil <sage@redhat.com>