Commit Graph

28316 Commits

Author SHA1 Message Date
Samuel Just
0c5f842e49 Merge branch 'wip-erasure-coded-doc' 2013-08-19 11:02:45 -07:00
Greg Farnum
4e86be9232 librados: synchronous commands should return on commit instead of ack
This is unlikely to be noticed by anybody, but it is a big change. Document
in the PendingReleaseNotes and bump up the librados minor version number
to 68.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-08-19 10:29:49 -07:00
athanatos
efd1bce4cf Merge pull request #493 from dachary/wip-erasure-coding-doc
rearrange erasure code documents

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-19 10:28:48 -07:00
Greg Farnum
f5636be742 mon: make MonMap error message about unspecified monitors less specific.
The error message helpfully references the -m and -c CLI options for
specifying monitors, but this code can be invoked from non-core librados
client applications so that's unfortunately not kosher. Remove the
reference.

Fixes #5979.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-08-19 10:21:16 -07:00
Danny Al-Gaaf
a846294533 auth-config-ref.rst: fix signature keys
Fix names of cephx signature keys.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-08-19 10:33:37 +02:00
Sage Weil
4677041da3 objclass: move cls_log into class_api.cc
Not sure why but this seems to resolve a linking problem when loading
classes:

2013-08-17 13:28:19.015776 7fb2bcffa700  0 _load_class could not open class /usr/lib/rados-classes/libcls_hello.so (dlopen failed): /usr/lib/rados-classes/libcls_hello.so: undefined symbol: cls_log
2013-08-17 13:28:19.015786 7fb2bcffa700 -1 osd.4 12 class hello open got (5) Input/output error

In any case, it's simpler.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 14:30:37 -07:00
Sage Weil
70790ab6b4 doc/dev/filestore-filesystem-compatibliity: remove outdated xattr notes
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 12:34:11 -07:00
Sage Weil
d7f1d166ea Merge pull request #494 from kri5/wip-s3-compliance-doc
doc: complete S3 features status from existing doc page
2013-08-17 11:00:59 -07:00
Sage Weil
87affa2d1c Merge pull request #491 from kri5/wip-clang-compilation
Fix compilation -Wmismatched-tags warnings

Reviewed-by: Loic Dachary <loic@dachary.org>
2013-08-17 10:59:01 -07:00
John Wilkins
2f221fe03c doc: Updated upgrade doc to include dumpling and incorporate ceph-deploy.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-17 10:35:32 -07:00
Sage Weil
ae7436ffb5 Merge pull request #479 from devoid/fix-5797
Document unstable nature of CephFS
2013-08-17 10:09:01 -07:00
Sage Weil
060a463754 Makefile: move objclass/*.cc to libosd.la
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 09:40:44 -07:00
Sage Weil
8ac1af887b doc/changelog: add missing file
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 08:38:55 -07:00
Sage Weil
d0a6ff9d27 os/FileStore: initialize blk_size on _detect_fs()
This was missed by a25d73effb.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 08:30:26 -07:00
Sage Weil
ed4fe32fa9 doc/release-notes: v0.67.1
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-17 08:20:00 -07:00
Sage Weil
81ddf1e8ab Merge pull request #505 from ceph/wip-post-file
ceph-post-file: single command to upload a file to cephdrop
2013-08-16 23:41:38 -07:00
Sage Weil
4fd34befd5 mds: create only one ESubtreeMap during fs creation
Previously we would create an empty ESubtreeMap when we opened the log
segment and then immediately journal a second one that created the root
and mdsdir.  More importantly, for the second ESubtreeMap, we would not
wait for it to commit before requesting the ACTIVE state, leading to
#4894.

Instead, break start_new_segment() into two steps: one that creates the
in-memory LogSegment tracking structure, and one that journals the
ESubtreeMap.  Open things early and write the (one) ESubtreeMap at the
end of boot_create().. and then wait for it.

Fixes: #4894
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-08-16 22:08:00 -07:00
Sage Weil
6bb7c62528 doc: quickstart: be more explicit that node == mon node
This appears to be one source of confusion for new users that leads to
a failure to form an initial mon quorum.  See comments on

 http://tracker.ceph.com/issues/4924

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-16 21:18:21 -07:00
Yehuda Sadeh
3cbf6a7b03 rgw: drain requests before exiting
Fixes: #5953

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-16 18:01:14 -07:00
Sage Weil
d08e05e463 ceph-post-file: single command to upload a file to cephdrop
Use sftp to upload to a directory that only this user and ceph devs can
access.

Distribute an ssh key to connect to the account.  This will let us revoke
the key in the future if we feel the need.  Also distribute a known_hosts
file so that users have some confidence that they are connecting to the
real ceph drop account and not some third party.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-08-16 17:59:11 -07:00
John Wilkins
50cc2efccf doc: Removed old mkcephfs references.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-16 17:31:43 -07:00
John Wilkins
fa10c41dbc doc: Removed mkcephfs references.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-16 17:28:15 -07:00
John Wilkins
31c1501ae1 doc: Updated script for dumpling.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-16 17:27:53 -07:00
John Wilkins
16f4bd51f0 doc: Updated APT script for dumpling.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-16 17:27:16 -07:00
John Wilkins
e97100db50 doc: Removed mkcephfs references. Did a bit of clean-up work.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-16 17:26:25 -07:00
Dan Mick
b007b3304c Merge pull request #509 from dmick/wip-rest-conf
config_opts: add two ceph-rest-api-only variables for convenience

Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-16 17:05:52 -07:00
Samuel Just
211aadaee8 ReplicatedPG: add osd_recover_clone_overlap_limit to limit clones
We don't want to clone_range from clones too many times.
For now, just skip the cloning if there are too many holes.

Fixes: #5985
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-16 16:40:23 -07:00
Dan Mick
6f0a49829c config_opts: add two ceph-rest-api-only variables for convenience
These aren't used by the C++ code at all, but in order for
rados_conf_get to find them, they need to be listed.  They're
consumed by ceph_rest_api.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-16 16:38:11 -07:00
Samuel Just
967dc2388c Merge remote-tracking branch 'upstream/wip-zfs'
Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-16 16:35:41 -07:00
Sage Weil
37bf38f7e8 Merge pull request #504 from ceph/wip-cls-hello
cls/hello: hello, world rados class

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.com>
2013-08-16 11:07:02 -07:00
Sage Weil
1c50c44615 osdc/ObjectCacher: do not merge rx buffers
We do not try to merge rx buffers currently.  Make that explicit and
documented in the code that it is not supported.  (Otherwise the
last_read_tid values will get lost and read results won't get applied
to the cache properly.)

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 22:20:21 -07:00
Sage Weil
b59f930ae1 osdc/ObjectCacher: match reads with their original rx buffers
Consider a sequence like:

 1- start read on 100~200
       100~200 state rx
 2- truncate to 200
       100~100 state rx
 3- start read on 200~200
       100~100 state rx
       200~200 state rx
 4- get 100~200 read result

Currently this makes us crash on

osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos)

when processing the second 200~200 bufferhead (it is too big).  The
larger issue, though, is that we should not be looking at this data at
all; it has been truncated away.

Fix this by marking each rx buffer with the read request that is sent to
fill it, and only fill it from that read request.  Then the first reply
will fill the first 100~100 extend but not touch the other extent; the
second read will do that.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 22:20:21 -07:00
David Zafman
067d5756a8 Merge branch 'wip-5848-coll'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-15 18:32:34 -07:00
David Zafman
93d8be222e osd: Add perf tracking for all states in RecoveryState
Fixes: #5848

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-08-15 18:29:35 -07:00
Sage Weil
895d531cc9 cls/hello: hello, world rados class
Simple example of a rados class doing read, write, and read/modify/write
methods.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:29 -07:00
Sage Weil
359850b9f6 osd: enforce RD, WR flags for class methods
Class methods are marked with RD and WR to help the OSD decide when we need
to flush objects or require certain permissions.  Ensure that methods do
not step outside their advertised capabilities by keeping a counter of rd
and wr ops we perform in do_osd_ops() and making sure that class methods,
and any ops the indirectly call, do not break the rules.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:29 -07:00
Sage Weil
f61698d564 cls_rbd: remove old assign_bid method
This method is problematic because it both writes/mutates and returns data,
which means that an untimely client disconnect or peering event will result
in a success to the client with no payload.

It has not been used since v0.52 (18054ba46f)
which is pre-bobtail; so this change breaks compatibility with pre-bobtail
librbd clients (at least for image creation).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:29 -07:00
Sage Weil
93ac92d85b librbd: remove mostly-useless assign_bid helper
Do it inline.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:11 -07:00
Sage Weil
610dc016e9 osd: do not return data payload for successful writes
We were somewhat inadvertantly returning a data payload for write
operations.  This was a side-effect of the OpContext::ops field being a
reference to MOSDOp::ops: the return data would end up there, and then
the MOSDOpReply ctor would copy it.

Fix this by breaking the ref, and making the do_op() logic also claim
return result data for error values (so that errors can return data to the
caller).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:11 -07:00
Sage Weil
681436ada8 common/Preforker: shut up warning
common/Preforker.h: In member function 'void Preforker::daemonize()':
common/Preforker.h:97:40: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 17:21:11 -07:00
Sage Weil
913a205c97 Merge remote-tracking branch 'gh/next' 2013-08-15 17:21:00 -07:00
Sage Weil
56e54cc489 Merge pull request #506 from dmick/wip-admin-daemon
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-15 17:14:23 -07:00
Dan Mick
266460e97e ceph.in: --admin-daemon was not returning EINVAL on bad command
Fix by restructuring code to hoist common code and have only one
place where admin_socket is actually called.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-15 17:10:56 -07:00
João Eduardo Luís
3f0afe162e Merge pull request #507 from ceph/wip-4635.master
Bunch of tidying up on monitor services & fix #4635

Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-15 15:54:10 -07:00
Joao Eduardo Luis
12b012aff5 PendingReleaseNotes: reflect 'osd crush set' behavior change
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:59 -07:00
Joao Eduardo Luis
249c7f2732 vstart.sh: s/osd crush set/osd crush add/ as it's supposed to be
'osd crush set' should only be used to update already existing items on
the map whereas 'osd crush add' should be able to 'add and update' items.

Considering at that point we are effectively adding a new item to the
crush map, use 'add' instead of 'set'.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:59 -07:00
Joao Eduardo Luis
9c624fb93e mon: OSDMonitor: don't expose uncommitted state on 'osd crush add/set'
Fixes: #4635

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:58 -07:00
Joao Eduardo Luis
995a3162e3 mon: OSDMonitor: document 'prepare_command' wrt expected behavior of no-ops
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:58 -07:00
Sage Weil
88464a6d3b mon: OSDMonitor: don't expose uncommitted state on 'osd crush link'
Fixes: #4635

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:55 -07:00
Sage Weil
97c3a9a5bb mon: clarify 'osd crush add' vs 'osd crush set'
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:43 -07:00