Commit Graph

40814 Commits

Author SHA1 Message Date
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