Jason Dillaman
58be49e592
librbd: rebuilding object map shouldn't update piecemeal
...
The object map is now rebuilt in-memory and written back to the
OSDs as a single operation.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
3ec68db139
tests: add test case for cls_rbd object_map_save
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
24c923e22e
cls_rbd_client: add object_map_save helper method
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
e5adbaa80b
cls_rbd: add object_map_save method
...
Allow the object map rebuild process to build the full object map
in memory and save it to disk with one operation.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
8ca6220fc2
tests: add ImageWatcher test for new rebuild object map request
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:22 -04:00
Jason Dillaman
852592a565
tests: added rebuild_object_map test to test_librbd
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 15:46:21 -04:00
Jason Dillaman
7ba4f1003a
tests: librados_test_stub reads should deep-copy
...
If a client of librados_test_stub modified a bufferlist
retrieved via a read call, the client will actually be
changing the contents of the file. Therefore, read calls
should deep-copy the contents of the buffer::ptrs.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
e714800c48
librbd: allow snapshot object maps to be updated
...
Rebuild will need to be able to update/resize the object maps
for image snapshots. This was previously not permitted.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
92a42561f8
librbd: update in-memory object map before on-disk update completes
...
When multiple IO updates are occurring within the same object, this
will allow only a single object map update request to be sent to the
OSD.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
1b7f8c13f9
cls_rbd: treat zero-byte object maps as missing
...
Acquiring the lock on a missing object map will create an
empty object. Treat the empty object as a non-existant
object map to support rebuilding corrupt object maps while
holding the exclusive lock.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
6ce79ab008
rbd: add object map rebuild command
...
An invalid object map can now be rebuilt via the rbd CLI.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
cc3890eea8
librbd: add rebuild_object_map to public API
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:05 -04:00
Jason Dillaman
844136d07f
librados_test_stub: add another overload of aio_operate
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
7ae1b14966
librbd: connect async rebuild object map to state machine
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
2db758cb4c
librbd: require callers to ObjectMap::aio_update to acquire lock
...
This is needed to allow an atomic compare and update operation
from the rebuild object map utility.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
c0cd3829e0
librbd: added RebuildObjectMapRequest state machine
...
It will verify the object map is properly sized, verify
the existence of each object within the image (snapshot),
and clear the invalid object map flag once complete.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
1aa801a013
librbd: correct basic object map errors during refresh
...
If the object map is corrupt on-disk or too small for the image,
correct these basic issues as soon as possible. The object map
is still flagged as invalid, but there will be less required repair
work if future IO is able to properly update the object map.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
18fd6ca7f5
librbd: use generic helper for issuing async requests
...
resize, flatten, and rebuild object map now use the same
bootstrap code for sending the request to the remote lock owner
or executing the request locally.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
df55d6450f
librbd: connect ImageWatch rebuild request to async rebuild method
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
d49788b7d3
librbd: add preliminary methods for rebuilding object map
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
1479161b74
librbd: add hooks for rebuild object map to ImageWatcher
...
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Jason Dillaman
a8f828b8b8
librbd: add new notify payload for rebuild object map
...
The request will be sent to the client which owns the exclusive
lock to rebuild the object map for the current image HEAD.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-10 14:10:04 -04:00
Gregory Farnum
d77de49eb1
Merge pull request #4306 from dachary/wip-ec-troubleshooting
...
doc: an erasure code crush ruleset can be dynamically modified
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-04-09 15:41:05 -07:00
Loic Dachary
c4c2927a39
Merge pull request #4320 from liewegas/wip-crush-straw2-div0
...
crush/mapper: fix divide-by-0 in straw2
Reviewed-by: Yann Dupont <yann@objoo.org>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-10 00:05:36 +02:00
Sage Weil
64d1e900ec
crush/mapper: fix divide-by-0 in straw2
...
If the item weight is 0 we don't want to divide; instead draw a minimal
value.
Fixes : #11357
Reported-by: Yann Dupont <yd@objoo.org>
Tested-by: Yann Dupont <yd@objoo.org>
Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-09 14:42:34 -07:00
Samuel Just
aec2f5de3b
Merge pull request #4174 from trociny/wip-10976.master
...
osd: fix PG::all_unfound_are_queried_or_lost for non-existent osds
Reviewed-by: Kefu Chai <tchaikov@gmail.com
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-04-09 11:25:03 -07:00
Samuel Just
eeb2cf5cc1
Merge pull request #4111 from wonzhq/hitsets-check
...
osd/ReplicatedPG: correct the checking if the promoting object is in other hit sets
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2015-04-09 11:22:55 -07:00
Samuel Just
7ae9e6bc15
Merge pull request #4136 from XinzeChi/wip-pg-delete-sleep
...
osd: return fast if PG::deleting is true in snap_trimmer and PG::scrub
Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-09 11:21:37 -07:00
Samuel Just
c8f662cba3
Merge pull request #4178 from XinzeChi/wip-tracker-message
...
osd: more useful message to find out potential unhealth osd
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-09 11:21:20 -07:00
Samuel Just
52efad3aac
Merge pull request #4155 from wonzhq/prdop
...
osd/ReplicatedPG: don't check order in finish_proxy_read
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-09 11:20:24 -07:00
Samuel Just
b7e62c63da
Merge pull request #4139 from Ved-vampir/oscnt
...
Perf counters descriptions
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-04-09 11:19:23 -07:00
Samuel Just
a9b497600c
Merge pull request #3928 from dmitryya/rados_bench_with_iops_metric
...
rados bench: Add IOPS metric to `rados bench'
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-09 11:17:55 -07:00
Samuel Just
1b66dfbaec
Merge pull request #4253 from majianpeng/scrub-fix2
...
Scrub bug fix
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-04-09 11:16:56 -07:00
Yehuda Sadeh
306c7eba2b
Merge pull request #4224 from rzarzynski/wip-10682_bucketlisting
...
rgw: add support for end_marker parameter for GET on Swift container.
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-09 10:02:08 -07:00
Yehuda Sadeh
5d866ad7e0
Merge pull request #4305 from Ved-vampir/rgw
...
rgw: add perf counters descriptions
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-09 09:55:25 -07:00
Yehuda Sadeh
4e425c2585
Merge pull request #4240 from 9seconds/post_check_quotas
...
rgw: Quota not respected in POST object
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-09 09:51:35 -07:00
Yehuda Sadeh
290ee5d12e
Merge pull request #4268 from guangyy/wip-11322
...
rgw : Issue AIO for next chunk first before flush the (cached) data.
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-09 09:50:02 -07:00
Loic Dachary
9046a3ef13
Merge pull request #4315 from dachary/wip-workflow
...
doc: development workflows
Reviewed-by: Alistair Israel <aisrael@gmail.com>
2015-04-09 14:39:14 +02:00
Loic Dachary
b09b4581f0
doc: when and why publish a point release
...
Explain who decides when to cut a point release and the tradeoffs
involved.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-09 13:53:13 +02:00
Loic Dachary
ea6b9a3256
doc: add Hammer to the release timeline
...
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-09 13:51:15 +02:00
Josh Durgin
21f60a9d26
Merge pull request #4233 from ceph/wip-librbd-aio-request
...
librbd: simplify AioRequest constructor parameters
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-04-08 15:19:24 -07:00
Josh Durgin
94ceeb94ba
Merge remote-tracking branch 'origin/wip-2862'
...
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Conflicts:
src/common/ceph_argparse.cc
src/rbd.cc
2015-04-08 13:55:13 -07:00
Dan Mick
28820a55b8
Merge pull request #4307 from dzafman/wip-dz-cmd-fix
...
osd: Fix wrong usage for "ceph tell osd.* debug dump_missing"
Reviewed-by: Dan Mick <dmick@redhat.com>
2015-04-08 13:28:12 -07:00
David Zafman
88f5ef4c39
osd: Fix wrong usage for "ceph tell osd.* debug dump_missing"
...
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-04-08 12:45:37 -07:00
John Spray
7c4d0a295a
Merge pull request #4304 from Ved-vampir/mds
...
mds: add perf counters descriptions
Reviewed-by: John Spray <john.spray@redhat.com>
2015-04-08 19:12:05 +01:00
Ved-vampir
22834ca667
rgw: add perf counters descriptions
...
Sign-off-by: Alyona Kiseleva <akiselyova@mirantis.com>
2015-04-08 20:48:00 +03:00
Loic Dachary
8e81b0d7e1
doc: an erasure code crush ruleset can be dynamically modified
...
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-08 19:33:05 +02:00
Ved-vampir
0498b6abc8
mds: add perf counters descriptions
...
Sign-off-by: Alyona Kiseleva <akiselyova@mirantis.com>
2015-04-08 20:08:09 +03:00
Sage Weil
8ff8c57ca7
doc/release-notes: note about SHEC
...
Signed-off-by: Sage Weil <sage@redhat.com>
2015-04-08 09:53:34 -07:00
Kefu Chai
93e7c3c914
Merge pull request #4274 from liewegas/wip-osd-cleanup
...
osd: remove some dead(ish) code
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-08 23:56:54 +08:00