Commit Graph

28279 Commits

Author SHA1 Message Date
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
Sage Weil
ed6233e58b mon/MonCap: remove useless 'osd crush add' perm from profile bootstrap-osd
Bootstrap doesn't use or need this; the crush update happens when the osd
starts up (see init-ceph or upstart/ceph-osd.conf).

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:52:28 -07:00
Joao Eduardo Luis
0380475b95 mon: AuthMonitor: fix some >80 columns debug strings
Give AuthMonitor a new look.  She sure deserves it.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:32:32 -07:00
Joao Eduardo Luis
737fe1fced mon: AuthMonitor: fix whitespaces
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:32:32 -07:00
Joao Eduardo Luis
cf189cf90b mon: AuthMonitor: remove dead code
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-08-15 15:32:32 -07:00
Sage Weil
35565ee64e mon: use str_join instead of std::copy
The std::copy method leaves a trailing separator.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-08-15 14:37:07 -07:00
Sage Weil
fc23cfe3fe config: fix stringification of config values
The std::copy construct leaves a trailing separator character, which breaks
parsing for booleans (among other things) and probably mangles everything
else too.

Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-15 14:36:57 -07:00
Sage Weil
ce3a0944d9 common: add str_join helper
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-08-15 14:36:49 -07:00
Sage Weil
e7836e6e7d mon/PGMap: fix typo
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-15 14:11:23 -07:00
Sage Weil
3ba4dc31cb Revert "config: fix stringification of config values"
This reverts commit fefe0c602f.

I have a cleaner cleanup.
2013-08-15 14:07:39 -07:00
Sage Weil
ba8f16984e Merge pull request #501 from liewegas/wip-5906
gussy up ceph -s

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-15 13:45:37 -07:00
Sage Weil
fefe0c602f config: fix stringification of config values
The std::copy construct leaves a trailing separator character, which breaks
parsing for booleans (among other things) and probably mangles everything
else too.

Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-15 13:42:50 -07:00
Sage Weil
5b2828dc2a Merge pull request #502 from ceph/wip-mon-log-level
mon: mon_cluster_log_file_level

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-15 13:39:58 -07:00
Scott Devoid
9f1ad4db54 Document unstable nature of CephFS
- Add note to docs indicating that CephFS is not recommended for
  production datasets.
- Add note to docs indicating that running CephFS with multiple MDS
  servers is not currently recommended.

This fixes issue #5797 http://tracker.ceph.com/issues/5797

Signed-off-by: Scott Devoid <devoid@anl.gov>
2013-08-15 14:01:32 -05:00
Sage Weil
ea79bb2913 Merge pull request #496 from ceph/wip-monstore-copy
tools: ceph-monstore-tool: copy a store's contents to another store
2013-08-15 11:01:35 -07:00
Sage Weil
893331be9e Merge pull request #490 from dachary/master
ant is missing from the list of packages to install
2013-08-15 10:52:17 -07:00
Sage Weil
4a437b8415 Merge pull request #396 from hutkev/wip-wireshark-alt
Adding alternative Wireshark dissector. 

Signed-off-by: Kevin Jones <k.j.jonez@gmail.com>
2013-08-15 10:50:19 -07:00
Sage Weil
ab60b5dac2 Merge pull request #499 from dachary/wip-test_osd_types
remove racy test assertions
2013-08-15 10:46:43 -07:00
Joe Buck
3d7a94954c Renamed filestore_backend test
Renamed filestore_backend to testfilestore_backend in
order to resolve compilation time issue.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-15 09:48:22 -07:00
Yan, Zheng
5a15369865 store: Add (experimental) ZFS parallel journal support
This patch adds ZFS parallel journal support. It uses libzfs provided by
zfsonlinux to access ZFS' functionalities. To enable ZFS parallel journal
support, compile ceph by:

  ./configure --with-libzfs LIBZFS_CFLAGS="-I<libzfs header> -I<libspl header>"
  make

Add following line to osd section of ceph.conf

  filestore zfs_snap = 1

Note: ZFS (no mater parallel journal is enabled or not) does not support
direct IO. To use it as backend FS for OSD, you need to add following line
to osd section of ceph.conf

  journal aio = 0
  journal dio = 0

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-08-15 09:48:22 -07:00
Yan, Zheng
a25d73effb store: Abstract the underlying filesystem functionality
This patch defines class FileStoreBackend, and use it to abstracts
filesystem's functionalities.

Fiemap() and syncfs() related code is moved into class
GenericFileStoreBackend.

All btrfs specific code is moved into class BtrfsFileStoreBackend.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-08-15 09:48:22 -07:00
Li Wang
24ec3201ed Ceph-qa: change the fsx.sh to support hole punching test
This patch change the fsx.sh to pull better fsx.c from xfstests site
to support hole punching test.

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
2013-08-14 22:50:56 -07:00
John Wilkins
086abe441e doc: Fixed typo.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-14 16:53:52 -07:00
Josh Durgin
4422f21a65 rados.py: fix Rados() unicode checking
Check new parameters and check that rados_id is not None again to
catch the empty string.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2013-08-14 16:07:52 -07:00
Josh Durgin
34da9cbc33 rados.py: fix Rados() backwards compatibility
Previously it had no name parameter, so the default will be used by
old clients. However, if an old client set rados_id, a new check that
both rados_id and name are set would result in an error. Fix this by
only applying the default names after the check, and add tests of this
behavior.

This was introduced in 783b7ec847,
so it does not affect cuttlefish.

Fixes: #5970
Reported-by: Michael Morgan <mmorgan@dca.net>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2013-08-14 16:07:30 -07:00
Sage Weil
2cfcb77c7e mon/PGMap: degraded what?
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-14 15:50:55 -07:00
Sage Weil
49ddecdac1 mon: status: client io, recovery io prefixes
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-14 15:50:54 -07:00
Gregory Farnum
df17d021a6 Merge pull request #500 from ceph/wip-5910
Resolves #5910.

Reviewed-by: Greg Farnum <greg@inktank.com>
2013-08-14 15:34:05 -07:00
Samuel Just
94c3f29a32 OSDMonitor: add 'osd perf' command to dump recent osd perf information
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-08-14 15:31:44 -07:00
Samuel Just
ebde89d560 ObjectStore: add ObjectStore::get_cur_stats and impl in FileStore
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-08-14 14:22:41 -07:00
Sage Weil
16ed0b9af8 librados: fix async aio completion wakeup
For aio flush, we register a wait on the most recent write.  The write
completion code, however, was *only* waking the waiter if they were waiting
on that write, without regard to previous writes (completed or not).
For example, we might have 6 and 7 outstanding and wait on 7.  If they
finish in order all is well, but if 7 finishes first we do the flush
completion early.  Similarly, if we

 - start 6
 - start 7
 - finish 7
 - flush; wait on 7
 - finish 6

we can hang forever.

Fix by doing any completions that are prior to the oldest pending write in
the aio write completion handler.

Refs: #5919

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
2013-08-14 09:51:01 -07:00
Josh Durgin
7a52e2ff50 librados: fix locking for AioCompletionImpl refcounting
Add an already-locked helper so that C_Aio{Safe,Complete} can
increment the reference count when their caller holds the
lock. C_AioCompleteAndSafe's caller is not holding the lock, so call
regular get() to ensure no racing updates can occur.

This eliminates all direct manipulations of AioCompletionImpl->ref,
and makes the necessary locking clear.

The only place C_AioCompleteAndSafe is used is in handling
aio_flush_async(). This could cause a missing completion.

Refs: #5919
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
2013-08-14 09:50:12 -07:00
John Wilkins
4f31756cc2 doc: Added dumpling to RPM installation.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-14 07:59:24 -07:00
John Wilkins
d38a041f12 doc: Minor tweaks to debian install.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-14 07:58:36 -07:00
John Wilkins
456a394c86 doc: Added dumpling installation for Debian/Ubuntu.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-14 07:58:03 -07:00
Loic Dachary
dfd58548d9 remove racy test assertions
Do not assert before the loop waiting for the thread to complete the
expected side effect. The whole point of the loop is to make sure
there is no window of opportunity for a race condition and asserting
before it means taking a useless risk. If run enough times, it will
happen.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-08-14 15:13:27 +02:00
Sage Weil
90ccd2676a qa/workunits/fs/multiclient_sync_read_eof.py
Simple test to verify clients behave at EOF.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-13 21:28:35 -07:00
Gary Lowell
8ff6901141 Merge branch 'next' 2013-08-13 18:59:06 -07:00