Commit Graph

25824 Commits

Author SHA1 Message Date
Josh Durgin
a6d0a25435 librbd: parallelize and simplify flatten
Flattening reads the logical child object from the parent image, and
then does a copyup operation if the data is non-zero. This is
equivalent to doing a zero-length write to each object in the
child image. Do this instead, so that we can easily control how
many are in flight, and eliminate some code as well.

Since we no longer read from the parent within the flatten function,
the buffer is not needed. It would be leaked in some error conditions,
but since's it's unecessary we can just get rid of it.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 16:17:10 -07:00
Josh Durgin
bfa106694d librbd: only send non-zero copyup data
If the parent image is logically zero for the range of a child object,
it's equivalent to the object not existing. Save some I/O and network
bandwidth and don't send the useless zeroes.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 16:17:10 -07:00
Josh Durgin
cfece23d5c librbd: parallelize rollback
Use a SimpleThrottle like trim_image() to limit the number of
requests in flight.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 16:17:09 -07:00
Josh Durgin
3b2c5fb8ab librados: add selfmanaged_snap_rollback as an ObjectOperation
This allows it to be done asynchronously, or in conjunction with
other operations.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 12:00:11 -07:00
Josh Durgin
4095641016 librbd: delete more than one object at once
Speed up deletions when resizing down or removing an image by keeping
up 10 operations in flight by default.

Refs: #2256
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 12:00:11 -07:00
Josh Durgin
537386d906 Throttle: add a simpler throttle that just blocks above a threshold
This is convenient to use to turn synchronous calls into asynchronous
calls with a limited number of operations in flight concurrently.
It assumes the caller will wait for all operations to complete at the
end.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-10 12:00:11 -07:00
John Wilkins
c5d4302489 doc: Update the usage to reflect optional directory name.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 11:19:33 -07:00
John Wilkins
35acb152ef doc: Rearranged to show zapping multiple disks and creating multiple OSDs.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 11:19:09 -07:00
John Wilkins
8add78cade doc: Moved install to the second step, from the first step.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 10:50:24 -07:00
Gary Lowell
c3ba53d255 Merge pull request #256 from dalgaaf/wip-da-spec-update
Fix ceph.spec.in
2013-05-06 10:28:22 -07:00
Gary Lowell
0200c90352 Merge pull request #257 from dalgaaf/wip-da-fix-debian
ceph-test.install: add ceph-monstore-tool and ceph-osdomap-tool
2013-05-06 10:28:04 -07:00
John Wilkins
6abbe68010 doc: Autonumbering syntax correction.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 10:08:38 -07:00
John Wilkins
efa460c337 doc: Added troubleshooting PGs to the index.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 10:04:29 -07:00
John Wilkins
cddf3b53b8 doc: Commented out osd list for now.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 09:44:31 -07:00
John Wilkins
0c0fc03ec6 doc: Commented out remove a mds for now.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 09:44:13 -07:00
John Wilkins
41eecf4f81 doc: Forwarding link. FAQ migrated to new Ceph wiki.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-06 09:43:41 -07:00
Danny Al-Gaaf
3540d90587 ceph-test.install: add ceph-monstore-tool and ceph-osdomap-tool
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 15:42:57 +02:00
Danny Al-Gaaf
6f33885111 ceph.spec.in: remove twice listed ceph-coverage
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 15:21:56 +02:00
Danny Al-Gaaf
acb60e58e4 ceph.spec: add some files to ceph
Add installed, but not packaged files to ceph-test (ceph-monstore-tool,
ceph-osdomap-tool) rpm file section.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 15:09:32 +02:00
Sage Weil
378eb32801 Merge branch 'next' 2013-05-03 11:36:42 -07:00
Sage Weil
a0988be62f doc/release-notes: warn about sysvinit crush map update
See c189d855e6.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-03 11:36:37 -07:00
Sage Weil
c189d855e6 init-ceph: update osd crush map position on start
This is what the upstart ceph-osd.conf does; we need to do the same so that
new OSDs (e.g., that ceph-deploy creates) get added to the crush map.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-03 11:33:20 -07:00
Sage Weil
2e0dd5ae6c mon: fork early to avoid leveldb static env state
leveldb has static state that prevents it from recreating its worker thread
after our fork(), even when we close and reopen the database (tsk tsk!).
Avoid this by forking early, before we touch leveldb.

Hide the details in a Preforker class.  This is modeled after what
ceph-fuse already does; we should convert it later.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-03 11:29:24 -07:00
Sage Weil
6f8c1e9cf4 doc/release-notes: add/link complete changelogs
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-03 11:04:35 -07:00
Sage Weil
4fa2c497fe doc/release-notes: v0.56.5
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-03 11:04:05 -07:00
John Wilkins
72fc6eb233 doc: Fixed typos.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-02 15:32:16 -07:00
Sage Weil
bae62bf313 Merge branch 'next' 2013-05-02 13:33:54 -07:00
Sage Weil
5cdd731784 Revert "mon: fix Monitor::pick_random_mon()"
This reverts commit 741f468523.

This is fixed in next; revert this to avoid a conflict.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 13:33:36 -07:00
Sage Weil
4f49565b40 Merge remote-tracking branch 'gh/wip-mon-rank' into next
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-05-02 13:32:41 -07:00
Sage Weil
b4e73cc6cc doc/install/upgrading...: note that argonaut->bobtail->cuttlefish must be v0.56.5
Which will be released shortly.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 13:19:30 -07:00
Samuel Just
039a3a97ce tools/: add paranoid option to ceph-osdomap-tool
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-02 12:54:28 -07:00
Sage Weil
26105280d0 osd: default 'osd leveldb paranoid = false'
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 12:47:24 -07:00
Sage Weil
444660ed77 librados,client: bump mount timeout to 5 min
30 seconds is pretty short.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-02 12:32:06 -07:00
Sage Weil
debbc79e27 Merge pull request #251 from bkerensa/patch-1
Improve verbiage 

Signed-off-by: Benjamin Kerensa <bkerensa@ubuntu.com>
2013-05-02 12:30:41 -07:00
Samuel Just
6a61268768 OSD: also walk maps individually for start_split in consume_map()
We need to go map-by-map to get the parents right in consume_map()
just as we must in load_pgs().

Fixes: 4884
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-02 12:21:18 -07:00
Sage Weil
c659dd764e rgw: increase startup timeout to 5 min
30s is too short.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 11:06:22 -07:00
Sage Weil
65d61f7a83 Merge branch 'wip-paranoid' into next 2013-05-02 10:18:39 -07:00
Sage Weil
45c9e24f0e doc/install/upgrading...: note about transitioning to ceph-deploy
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 07:30:55 -07:00
Sage Weil
a8d4647336 doc/release-notes: note about ceph-deploy
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-02 07:30:36 -07:00
Benjamin Kerensa
f95a053bd6 Update debian.rst
"complete list of distributions" should be complete list of releases since we already know what distributions are supported and the list specifies releases. (Wheezy, Precise etc.)
2013-05-02 02:26:47 -07:00
Sage Weil
6a91ecb18e Merge branch 'next' 2013-05-01 21:46:50 -07:00
Sage Weil
17c14b251d Merge remote-tracking branch 'gh/wip-doc-cuttlefish' into next 2013-05-01 17:24:40 -07:00
Samuel Just
c194151a85 Merge remote-tracking branch 'upstream/wip_4884' into next
Fixes: #4884
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-01 16:11:47 -07:00
Samuel Just
615b84b1fd Makefile,gitignore: ceph-monstore-tool, not ceph_monstore_tool
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 15:43:22 -07:00
Samuel Just
628e232060 Makefile: put ceph_monstore_tool in bin_DEBUGPROGRAMS
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 15:43:22 -07:00
Samuel Just
d0d93a743e tools: ceph-osdomap-tool.cc
Add tool for dumping info from osd omap.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 15:43:22 -07:00
Samuel Just
f4982268f7 OSD: load_pgs() should fill in start_split honestly
In load_pgs(), we previously called assigned children starting
at the loaded pg created between its stored epoch and the current
osdmap to have that pg as their parent.  This is not correct, some
of the children may have been split in subsequent epochs from children
split in earlier epochs.  Instead, do each map individually.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 14:59:08 -07:00
Samuel Just
3e0ca62b0f OSD: cancel_pending_splits needs to cancel all descendants
expand_pg_num() and load_pgs() may result in a pg with children
in pending_splits which also have children in pending_splits (etc).

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 14:56:25 -07:00
Sage Weil
d944180899 osd: add --osd-leveldb-paranoid flag
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-01 14:40:48 -07:00
Sage Weil
7cc0a35222 mon: add --mon-leveldb-paranoid flag
This is sort of equivalent to an fsck.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-01 14:40:47 -07:00