Sage Weil
96e69ee9fd
os/bluestore: simplify dirty shard handling in ExtentMap::update
...
We can do this with a single allocation with a simple vector<>.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:55 -05:00
Sage Weil
40db5b6614
os/bluestore: ExtentMap: reshard only requested range
...
Only reshard extents in the requested range.
Note that the strategy for unspanning blobs changed; we now span or
unspan specific blobs at the end based on our reshard result instead
of unspanning all at the start. This keeps the spanning id stable,
which is important because it may be referenced from another that
we aren't even looking at.
Also note that this requires a bit of restructuring: an encode_some may
hit a spanning shard, *requiring* us to reshard, which means we should
always conduct the initial pass through update to discover other reshard
requirements, even if we already know some resharding will be needed.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:55 -05:00
Sage Weil
0819a0f90e
os/bluestore: dump num spanning blobs from dump_onode
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:54 -05:00
Sage Weil
454d66bf32
os/bluestore: trivial cleanups in csum error code
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:54 -05:00
Sage Weil
2045431c61
os/bluestore: fsck: dump_onode after shards are loaded
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:54 -05:00
Sage Weil
44c3ec81e9
ceph_test_objectstore: error out on fsck failure
...
It's much more helpful this way.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:54 -05:00
Sage Weil
9ab4873288
os/memstore: return 0 from fsck
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 17:25:53 -05:00
Sage Weil
317ebde7ec
os/bluestore: fsck: check for shards past EOF
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
c7949d4010
os/bluestore: reshard on truncate if shards past EOF
...
This ensure we mop up shards past EOF instead of encoding them
empty and confusing future code (that, say, assumes no shards past
EOF).
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
92a555ec42
os/bluestore/bluestore_types: beautify use_tracker_t operator<<
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
4302e96d8d
os/bluestore: ExtentMap: request reshard range from update() intelligently
...
Split ourselves, or merge with our immediate predecessor or
successor.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
4fdccb2d96
os/bluestore: ExtentMap: use normal iterator for reshard loop
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
126eae8479
os/bluestore: ExtentMap: put un-spanning in normal loop
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
b806f4faad
os/bluestore: ExtentMap: remove reshard 0 extent special case
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
df6365ca21
os/bluestore: ExtentMap: factor old shard key removal into reshard()
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
f4fc7a3f19
os/bluestore: cosmetic cleanup in ExtentMap::update
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
8eb60c24f0
os/bluestore: ExtentMap: count extents per Shard
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
bb8bf06c99
os/bluestore: ExtentMap: use reshard ranges from update()
...
This gives us a single point of control for reshard, and tells us
which range we care about at the same time.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
b92062e38e
os/bluestore: replace needs_reshard flag with a range
...
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:12:08 -05:00
Sage Weil
d099edcb82
ceph_test_objectstore: match clone_range src and dst offset
...
This is what the OSD does, and BlueStore doesn't necessarily handle
all combinations of different offsets.
Signed-off-by: Sage Weil <sage@redhat.com>
2017-02-02 10:11:30 -05:00
Sage Weil
7df1906b6c
Merge pull request #13211 from liewegas/wip-clone-offsets
...
ceph_test_objectstore: match clone_range src and dst offset
Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-02-02 09:08:05 -06:00
Sage Weil
013b96e1da
Merge pull request #12904 from ifed01/wip-bluestore-onode-refmap3
...
os/bluestore: replace Blob ref_map with reference counting
Reviewed-by: Sage Weil <sage@redhat.com>
2017-02-02 08:56:31 -06:00
Sage Weil
6e72005891
Merge pull request #13192 from liewegas/wip-bluestore-min-alloc-size
...
os/bluestore: fix min_alloc_size at mkfs time
Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-02-02 08:56:09 -06:00
Mykola Golub
93f7b5ef3f
Merge pull request #13158 from dillaman/wip-18594
...
qa: integrate OpenStack 'gate-tempest-dsvm-full-devstack-plugin-ceph'
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-02-02 08:27:49 +02:00
Yuri Weinstein
a1d0322171
Merge pull request #13225 from tmuthamizhan/wip-ansible-m
...
qa: do not mention ceph branch explicitly
2017-02-01 19:50:30 -08:00
Tamil Muthamizhan
f99ca7a812
do not mention ceph branch explicitly
...
no need to mention ceph_dev_branch explicitly. it will be taken from the
ceph branch value mentioned in the teuthology-suite command
Signed-off-by: Tamil Muthamizhan <tmuthami@redhat.com>
2017-02-01 16:47:01 -08:00
Sage Weil
72f603d352
Merge pull request #13009 from liewegas/wip-mempool-bloom-filter
...
mempool: put bloom_filter in mempool
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-02-01 15:23:55 -06:00
Sage Weil
4a71a8ad2b
Merge pull request #13136 from liewegas/wip-scrub-waitlist
...
osd: use separate waitlist for scrub
Reviewed-by: Samuel Just <sjust@redhat.com>
2017-02-01 14:49:46 -06:00
Adam C. Emerson
c2e9b65695
Merge pull request #12104 from pritha-srivastava/wip_sts_role_rest
...
rgw: Added code for REST APIs for AWS Roles.
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-02-01 14:01:49 -05:00
Jason Dillaman
a1b088a727
Merge pull request #13189 from gaurav36/bug-18326-image-rename-non-rbd-pool
...
rbd: destination pool should be source pool if it is not specified
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-02-01 12:47:01 -05:00
Jason Dillaman
8b8023c5dd
Merge pull request #12948 from trociny/wip-17020
...
rbd-mirror: add support for active/passive daemon instances
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-02-01 11:17:23 -05:00
Sage Weil
ddb3f29b8e
Merge pull request #13013 from wangzhengyong/master
...
os/bluestore: remove no use parameter in bluestore_blob_t::map_bl
Reviewed-by: Sage Weil <sage@redhat.com>
2017-02-01 08:55:22 -06:00
Sage Weil
77ad3c925b
Merge pull request #12782 from atheism/rgw-orphan-fix-error-messages
...
rgw: orphan: fix error messages
Reviewed-by: Sage Weil <sage@redhat.com>
2017-02-01 08:49:09 -06:00
Sage Weil
f1f1170f27
Merge pull request #13199 from chipitsine/master
...
mds,mon: Clean issues detected by cppcheck
Reviewed-by: Sage Weil <sage@redhat.com>
2017-02-01 08:46:59 -06:00
Sage Weil
09d23e8163
Merge pull request #13203 from ifed01/wip-bluestore-more-dump
...
os: extend ObjectStore interface to dump store's performance counters
Reviewed-by: Sage Weil <sage@redhat.com>
2017-02-01 08:44:50 -06:00
John Spray
13a52e9d73
Merge pull request #12974 from ukernel/wip-multimds-misc
...
mds: miscellaneous fixes
Reviewed-by: John Spray <john.spray@redhat.com>
2017-02-01 14:20:48 +01:00
Mykola Golub
4e234921b1
qa/suites/rbd: add rbd-mirror-ha test
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 11:16:34 +01:00
Mykola Golub
2bb480e8c3
qa/workunits/rbd: tweaks to use RBD_MIRROR_USE_EXISTING_CLUSTER locally
...
This var is mostly used when running rbd_mirror test scripts on
teuthology. It can be used locally though to speedup re-running the
tests:
Set a test temp directory:
export RBD_MIRROR_TEMDIR=/tmp/tmp.rbd_mirror
Run the tests the first time with NOCLEANUP flag (the cluster and
daemons are not stopped on finish):
RBD_MIRROR_NOCLEANUP=1 ../qa/workunits/rbd/rbd_mirror.sh
Now, to re-run the test without restarting the cluster, run cleanup
with USE_EXISTING_CLUSTER flag:
RBD_MIRROR_USE_EXISTING_CLUSTER=1 \
../qa/workunits/rbd/rbd_mirror_ha.sh cleanup
and then run the tests:
RBD_MIRROR_USE_EXISTING_CLUSTER=1
../qa/workunits/rbd/rbd_mirror_ha.sh
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
c802b9df0b
qa/workunits/rbd: tests for rbd mirror HA
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
7c21275f4f
qa/workunits/rbd: allow to start several daemons for the same cluster
...
by optionally specifyning daemon instance after cluster name and
colon, like:
start_mirror ${cluster}:${instance}
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
065b513ad7
rbd-mirror HA: pool replayer should be started/stopped when lock acquired/released
...
Fixes: http://tracker.ceph.com/issues/17020
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
733a0049b0
rbd-mirror HA: create pool locker / leader class
...
Fixes: http://tracker.ceph.com/issues/17019
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
16f7878517
rbd-mirror HA: add new lock released/acquired and heartbeat messages
...
Fixes: http://tracker.ceph.com/issues/17018
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
8c991bf562
rbd-mirror: add class for mirror status watcher
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
6d44511d70
librbd: equality operator for managed_lock::Locker
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
f89857967e
librbd: add create_async_context_callback helper
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
fa28457d6a
librbd: missing const qualifiers
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
0b179be31e
librbd: track in-fly break_lock and get_locker requests in managed lock
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
13496b22ee
librbd: pass notifier_id to Watcher handle_notify
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00
Mykola Golub
ff21415b9f
librbd: allow watcher derived classes access ioctx, oid and work queue
...
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-02-01 10:55:03 +01:00