]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agomon: DataHealthService: monitor backing store's size and report it 526/head
Joao Eduardo Luis [Thu, 22 Aug 2013 15:08:22 +0000 (16:08 +0100)]
mon: DataHealthService: monitor backing store's size and report it

If the store's size grows beyond what we believe to be reasonable, we must
let the user know that something fishy may be going on.  This intends to
act as an early warning system for monitors suffering from leveldb
compaction issues.  However, if the monitor's store is just growing a lot
due to normal cluster behaviour, we made sure that the warning threshold
is adjustable by tuning 'mon_leveldb_size_warn' (defaulting to 40GB).

Fixes: #5909
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
11 years agomon: mon_types: DataStats: add 'dump(Formatter*)' method
Joao Eduardo Luis [Thu, 22 Aug 2013 15:05:17 +0000 (16:05 +0100)]
mon: mon_types: DataStats: add 'dump(Formatter*)' method

... and use it on DataHealthService.cc, instead of building our own
version of the classes' formatted output.

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
11 years agomon: MonitorDBStore: rely on backing store to provide estimated store size
Joao Eduardo Luis [Thu, 22 Aug 2013 14:57:05 +0000 (15:57 +0100)]
mon: MonitorDBStore: rely on backing store to provide estimated store size

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
11 years agotest: ceph_test_store_tool: output estimated store size on 'get-size'
Joao Eduardo Luis [Thu, 22 Aug 2013 15:17:12 +0000 (16:17 +0100)]
test: ceph_test_store_tool: output estimated store size on 'get-size'

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
11 years agoos: KeyValueDB: expose interface to obtain estimated store size
Joao Eduardo Luis [Thu, 22 Aug 2013 15:17:02 +0000 (16:17 +0100)]
os: KeyValueDB: expose interface to obtain estimated store size

On LevelDBStore, instead of using leveldb's GetApproximateSizes() function,
we will instead assess what's the store's raw size from the contents of
the store dir (this means .sst's, .log's, etc).  The reason behind this
approach is that GetApproximateSizes() would expect us to provide a range
of keys for which to obtain an approximate size; on the other hand, what we
really want is to obtain the size of the store -- not the size of the
data (besides, with the compaction issues we've been seeing, we wonder
how reliable such approximation would be).

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
11 years agomon: MonitorDBStore: output to derr instead of std::cout
Joao Eduardo Luis [Fri, 16 Aug 2013 20:51:15 +0000 (13:51 -0700)]
mon: MonitorDBStore: output to derr instead of std::cout

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #506 from dmick/wip-admin-daemon
Sage Weil [Fri, 16 Aug 2013 00:14:23 +0000 (17:14 -0700)]
Merge pull request #506 from dmick/wip-admin-daemon

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph.in: --admin-daemon was not returning EINVAL on bad command 506/head
Dan Mick [Fri, 16 Aug 2013 00:10:56 +0000 (17:10 -0700)]
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>
11 years agomon: use str_join instead of std::copy
Sage Weil [Thu, 15 Aug 2013 21:37:07 +0000 (14:37 -0700)]
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>
11 years agoconfig: fix stringification of config values
Sage Weil [Thu, 15 Aug 2013 21:36:57 +0000 (14:36 -0700)]
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>
11 years agocommon: add str_join helper
Sage Weil [Thu, 15 Aug 2013 21:36:49 +0000 (14:36 -0700)]
common: add str_join helper

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agoRevert "config: fix stringification of config values"
Sage Weil [Thu, 15 Aug 2013 21:07:39 +0000 (14:07 -0700)]
Revert "config: fix stringification of config values"

This reverts commit fefe0c602f78e66d35fd5806da4c2e4e154a267c.

I have a cleaner cleanup.

11 years agoconfig: fix stringification of config values
Sage Weil [Thu, 15 Aug 2013 20:42:50 +0000 (13:42 -0700)]
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>
11 years agoMerge pull request #496 from ceph/wip-monstore-copy
Sage Weil [Thu, 15 Aug 2013 18:01:35 +0000 (11:01 -0700)]
Merge pull request #496 from ceph/wip-monstore-copy

tools: ceph-monstore-tool: copy a store's contents to another store

11 years agorados.py: fix Rados() unicode checking
Josh Durgin [Wed, 14 Aug 2013 22:50:59 +0000 (15:50 -0700)]
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>
11 years agorados.py: fix Rados() backwards compatibility
Josh Durgin [Wed, 14 Aug 2013 22:28:19 +0000 (15:28 -0700)]
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 783b7ec847c7f987ac1814c9c41c91921cac4eba,
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>
11 years agolibrados: fix async aio completion wakeup
Sage Weil [Tue, 13 Aug 2013 19:52:41 +0000 (12:52 -0700)]
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>
11 years agolibrados: fix locking for AioCompletionImpl refcounting
Josh Durgin [Tue, 13 Aug 2013 02:17:09 +0000 (19:17 -0700)]
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>
11 years agoMerge branch 'next'
Gary Lowell [Wed, 14 Aug 2013 01:59:06 +0000 (18:59 -0700)]
Merge branch 'next'

11 years agoclient: add enclosing object for asok dumps
Sage Weil [Sun, 11 Aug 2013 21:02:46 +0000 (14:02 -0700)]
client: add enclosing object for asok dumps

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agopybind/ceph_argparse: GPL -> LGPL2
Sage Weil [Wed, 14 Aug 2013 00:17:54 +0000 (17:17 -0700)]
pybind/ceph_argparse: GPL -> LGPL2

Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Dan Mick <dan.mick@inktank.com>

both consented to this change via email.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agorbd.cc: relicense as LGPL2
Sage Weil [Wed, 14 Aug 2013 00:16:08 +0000 (17:16 -0700)]
rbd.cc: relicense as LGPL2

All past authors for rbd.cc have consented to relicensing from GPL to
LGPL2 via email:

---

Date: Sat, 27 Jul 2013 01:59:36 +0200
From: Sylvain Munaut <s.munaut@whatever-company.com>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I hereby consent to the relicensing of any contribution I made to the
aforementioned rbd.cc file from GPL to LGPL2.1.

(I hope that'll be impressive enough, I did my best :p)

btw, tnt@246tNt.com and s.munaut@whatever-company.com are both me.

Cheers,

    Sylvain

---

Date: Fri, 26 Jul 2013 17:00:48 -0700
From: Yehuda Sadeh <yehuda@inktank.com>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent.

---

Date: Fri, 26 Jul 2013 17:02:24 -0700
From: Josh Durgin <josh.durgin@inktank.com>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent.

---

Date: Fri, 26 Jul 2013 18:17:46 -0700
From: Stanislav Sedov <stas@freebsd.org>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent.

Thanks for taking care of it!

---

Date: Fri, 26 Jul 2013 18:24:15 -0700
From: Colin McCabe <cmccabe@alumni.cmu.edu>

I consent.

cheers,
Colin

---

Date: Sat, 27 Jul 2013 07:08:12 +0200
From: Christian Brunner <christian@brunner-muc.de>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent

Christian

---

Date: Sat, 27 Jul 2013 12:17:34 +0300
From: Stratos Psomadakis <psomas@grnet.gr>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

Hi,

I consent with the GPL -> LGL2.1 re-licensing.

Thanks
Stratos

---

Date: Sat, 27 Jul 2013 16:13:13 +0200
From: Wido den Hollander <wido@42on.com>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent!

You have my permission to re-license the code I wrote for rbd.cc to LGPL2.1

---

Date: Sun, 11 Aug 2013 10:40:32 +0200
From: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Subject: Re: btw

Hi Sage,

I agree to switch the license of ceph_argparse.py and rbd.cc from GPL2
to LGPL2.

Regards

Danny Al-Gaaf

---

Date: Tue, 13 Aug 2013 17:15:24 -0700
From: Dan Mick <dan.mick@inktank.com>
Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change

I consent to relicense any contributed code that I wrote under LGPL2.1 license.

---

...and I consent too.  Drop the exception from COPYING and debian/copyright
files.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agolibrados: fix MWatchNotify leak
Sage Weil [Tue, 13 Aug 2013 20:14:59 +0000 (13:14 -0700)]
librados: fix MWatchNotify leak

Do not leak the message if the watcher is not registered.  Also, simplify
this block.

Fixes (part of): #5949
Backport: dumpling, cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: do not leak handler in get_handler() error path
Sage Weil [Tue, 13 Aug 2013 18:16:17 +0000 (11:16 -0700)]
rgw: do not leak handler in get_handler() error path

If we fail to initialize, delete the handler.

Fixes (part of): #5949
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agov0.67 v0.67
Gary Lowell [Tue, 13 Aug 2013 17:45:14 +0000 (10:45 -0700)]
v0.67

11 years agoMerge pull request #497 from ksperis/rbdmap.init-3
Sage Weil [Tue, 13 Aug 2013 17:11:39 +0000 (10:11 -0700)]
Merge pull request #497 from ksperis/rbdmap.init-3

Rbdmap.init 3

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: fix rst
Sage Weil [Tue, 13 Aug 2013 16:49:05 +0000 (09:49 -0700)]
doc/release-notes: fix rst

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: upgrade sequence
Sage Weil [Tue, 13 Aug 2013 16:40:50 +0000 (09:40 -0700)]
doc/release-notes: upgrade sequence

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: roll-up of upgrade/compat notes from cuttlefish to dumpling
Sage Weil [Tue, 13 Aug 2013 16:27:32 +0000 (09:27 -0700)]
doc/release-notes: roll-up of upgrade/compat notes from cuttlefish to dumpling

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoinit-rbdmap: minor fix no rbd exist 497/head
Laurent Barbe [Tue, 13 Aug 2013 15:45:03 +0000 (17:45 +0200)]
init-rbdmap: minor fix no rbd exist

Avoid error if stop when no rbd device exist

Signed-off-by: Laurent Barbe <laurent@ksperis.com>
11 years agoinit-rbdmap: fix for recursive umount
Laurent Barbe [Tue, 13 Aug 2013 15:16:35 +0000 (17:16 +0200)]
init-rbdmap: fix for recursive umount

Umount is not always done in the correct order.
For exemple in that case :
/dev/rbd1 on /myrbd
/dev/rbd2 on /myrbd/.snapshots/@GMT-2013.08.09-10.14.44
rbd2 should be umounted before rbd1

Signed-off-by: Laurent Barbe <laurent@ksperis.com>
11 years agoMakefile.am: fix libglobal.la races
Gary Lowell [Tue, 6 Aug 2013 00:57:26 +0000 (17:57 -0700)]
Makefile.am: fix libglobal.la races

Several targets had libglobal.la in the  _LDFLAGS macro definition
when it should have been in the _LDADD macro.  Remove those occurrance
and add the LIBGLOBAL_LDA macro to the targets _LDADD instead.

See related commit 71f3e56d4b2c07f5fc56522a2080f1ff101ef340

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agotools: ceph-monstore-tool: allow copying store contents to a new location 496/head
Joao Eduardo Luis [Mon, 12 Aug 2013 23:04:46 +0000 (16:04 -0700)]
tools: ceph-monstore-tool: allow copying store contents to a new location

Usage:

ceph-monstore-tool --mon-store-path <in-path> --out <out-path> \
                   --command store-copy

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agorgw: fix multi delete
Yehuda Sadeh [Mon, 12 Aug 2013 17:05:44 +0000 (10:05 -0700)]
rgw: fix multi delete

Fixes: #5931
Backport: bobtail, cuttlefish

Fix a bad check, where we compare the wrong field. Instead of
comparing the ret code to 0, we compare the string value to 0
which generates implicit casting, hence the crash.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoceph-disk: fix mount options passed to move_mount
Sage Weil [Sat, 10 Aug 2013 01:02:32 +0000 (18:02 -0700)]
ceph-disk: fix mount options passed to move_mount

Commit 6cbe0f021f62b3ebd5f68fcc01a12fde6f08cff5 added a mount_options but
in certain cases it may be blank.  Fill in with the defaults, just as we
do in mount().

Backport: cuttlefish
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoconfig_opts.h: reduce osd_recovery_max_active and osd_recovery_max_single_start
Samuel Just [Sat, 10 Aug 2013 02:09:08 +0000 (19:09 -0700)]
config_opts.h: reduce osd_recovery_max_active and osd_recovery_max_single_start

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agodoc/release-notes: adjust whitespace
Sage Weil [Fri, 9 Aug 2013 23:15:02 +0000 (16:15 -0700)]
doc/release-notes: adjust whitespace

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: v0.67 release notes
Sage Weil [Fri, 9 Aug 2013 23:14:52 +0000 (16:14 -0700)]
doc/release-notes: v0.67 release notes

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 9 Aug 2013 23:03:27 +0000 (16:03 -0700)]
Merge remote-tracking branch 'gh/next'

11 years agoceph: retry new-style mon command if we get EINVAL from the old-style command
Sage Weil [Fri, 9 Aug 2013 22:14:56 +0000 (15:14 -0700)]
ceph: retry new-style mon command if we get EINVAL from the old-style command

We can race with a mon upgrade:

- get command descriptions, get EINVAL
- mons upgrade, new quorum
- send old-style command
- get EINVAL

In this case, we should try one last time to get the command descriptions.

Fixes: #5788
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocommon: pick_addresses: fix bug with observer class that triggered #5205
Joao Eduardo Luis [Fri, 9 Aug 2013 21:48:15 +0000 (14:48 -0700)]
common: pick_addresses: fix bug with observer class that triggered #5205

The Observer class we defined to observe conf changes and thus avoid
triggering #5205 (as fixed by eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a),
was returning always the same const static array, which would lead us to
always populate the observer's list with an observer for 'public_addr'.

This would of course become a problem when trying to obtain the observer
for 'cluster_add' during md_config_t::set_val() -- thus triggering the
same assert as initially reported on #5205.

Backport: cuttlefish
Fixes: #5205
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #486 from kri5/wip-s3-compliance-doc
Yehuda Sadeh [Fri, 9 Aug 2013 20:57:11 +0000 (13:57 -0700)]
Merge pull request #486 from kri5/wip-s3-compliance-doc

Wip s3 compliance doc

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: return 423 Locked response when failing to lock object
Yehuda Sadeh [Fri, 9 Aug 2013 18:52:25 +0000 (11:52 -0700)]
rgw: return 423 Locked response when failing to lock object

Fixes: #5882
Translate the EBUSY we get when trying to lock a shard / object
to 423 Locked response. Beforehand it was just translated to the
default 500.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: make RGWHTTPClient callback methods pure virtual
Yehuda Sadeh [Fri, 9 Aug 2013 17:29:17 +0000 (10:29 -0700)]
rgw: make RGWHTTPClient callback methods pure virtual

This will make it easier to catch interface changes, like the
ones that triggered #5921.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: rename read_header() to receive_header() where needed
Yehuda Sadeh [Fri, 9 Aug 2013 17:26:53 +0000 (10:26 -0700)]
rgw: rename read_header() to receive_header() where needed

The same as with #5921, fixing a missed interface change.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: rename data receive callbacks in swift token revocation
Yehuda Sadeh [Fri, 9 Aug 2013 16:31:28 +0000 (09:31 -0700)]
rgw: rename data receive callbacks in swift token revocation

Fixes: #5921
As part of the work that was made for dumpling, the http
client in-data callback was renamed in order to avoid confusion.
However, we missed the rename in a couple of places, which this
patch amend.

Reported-by: Roald van Loon <roaldvanloon@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge remote-tracking branch 'gh/wip-5648-c'
Sage Weil [Fri, 9 Aug 2013 16:41:41 +0000 (09:41 -0700)]
Merge remote-tracking branch 'gh/wip-5648-c'

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoPendingReleaseNotes: note 'ceph daemon ...' argument behavior change
Sage Weil [Fri, 9 Aug 2013 16:07:04 +0000 (09:07 -0700)]
PendingReleaseNotes: note 'ceph daemon ...' argument behavior change

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc: Add a page about rgw S3 API compliance 486/head
Christophe Courtaut [Wed, 31 Jul 2013 09:33:26 +0000 (11:33 +0200)]
doc: Add a page about rgw S3 API compliance

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoRadosClient: shutdown monclient after dropping lock
Samuel Just [Thu, 8 Aug 2013 22:12:46 +0000 (15:12 -0700)]
RadosClient: shutdown monclient after dropping lock

Otherwise, the monclient shutdown may deadlock waiting
on a context trying to take the RadosClient lock.

Fixes: #5897
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomds: notify clients about deleted inode
Yan, Zheng [Sun, 21 Jul 2013 02:21:13 +0000 (10:21 +0800)]
mds: notify clients about deleted inode

To make sure clients trim the deleted inode from the their cache
ASAP. After all clients release the inode, we can reclaim space.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'yan/wip-mds'
Sage Weil [Fri, 9 Aug 2013 05:19:21 +0000 (22:19 -0700)]
Merge remote-tracking branch 'yan/wip-mds'

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 9 Aug 2013 05:18:16 +0000 (22:18 -0700)]
Merge remote-tracking branch 'gh/next'

11 years agobuffer: change #include order
Sage Weil [Wed, 7 Aug 2013 01:36:00 +0000 (18:36 -0700)]
buffer: change #include order

huangjun <hjwsm1989@gmail.com> reports that this fixes the compilation on
CentOS5.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomake sure we are using the mount options
Alfredo Deza [Thu, 8 Aug 2013 23:09:26 +0000 (16:09 -0700)]
make sure we are using the mount options

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 34831d0989d4bcec4920068b6ee09ab6b3234c91)

11 years agoMerge pull request #480 from dachary/master
Sage Weil [Fri, 9 Aug 2013 01:34:19 +0000 (18:34 -0700)]
Merge pull request #480 from dachary/master

Add the definition of PG temp to the glossary

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #487 from ceph/wip-5746
Sage Weil [Fri, 9 Aug 2013 01:29:57 +0000 (18:29 -0700)]
Merge pull request #487 from ceph/wip-5746

ceph.in: Re-enable ceph interactive mode (missing its output).

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #489 from ceph/wip-5903
Sage Weil [Fri, 9 Aug 2013 01:06:16 +0000 (18:06 -0700)]
Merge pull request #489 from ceph/wip-5903

make sure we are using the mount options

Backport: dumpling, cuttlefish
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomake sure we are using the mount options 489/head
Alfredo Deza [Thu, 8 Aug 2013 23:09:26 +0000 (16:09 -0700)]
make sure we are using the mount options

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
11 years agoMerge pull request #488 from dmick/wip-dmick-daemon-einval
Sage Weil [Thu, 8 Aug 2013 19:33:43 +0000 (12:33 -0700)]
Merge pull request #488 from dmick/wip-dmick-daemon-einval

Wip dmick daemon einval

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph.in: return EINVAL on daemon command error 488/head
Dan Mick [Thu, 8 Aug 2013 17:23:34 +0000 (10:23 -0700)]
ceph.in: return EINVAL on daemon command error

Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agoceph.in: Re-enable ceph interactive mode (missing its output). 487/head
Dan Mick [Tue, 6 Aug 2013 01:18:59 +0000 (18:18 -0700)]
ceph.in: Re-enable ceph interactive mode (missing its output).

Also, loop on error.  There's no reason to exit the interpreter loop on
an error, and it's probably less annoying if we don't.  Print the error,
and any output, and continue.

Fixes: #5746
Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agomon: fix 'osd crush rule rm ...' dup arg
Sage Weil [Thu, 8 Aug 2013 15:30:01 +0000 (08:30 -0700)]
mon: fix 'osd crush rule rm ...' dup arg

This was broken way back in 0d66c9ebbf626117c641c975a8682a0aaba588c4, but
we were ignoring the dup until recently.
t
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoqa/workunits/cephtool/test.sh: test set/unset of all osd flags
Sage Weil [Wed, 7 Aug 2013 15:35:48 +0000 (08:35 -0700)]
qa/workunits/cephtool/test.sh: test set/unset of all osd flags

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/MonCommands: fix typo nobackfile -> nobackfill
Sage Weil [Wed, 7 Aug 2013 15:32:08 +0000 (08:32 -0700)]
mon/MonCommands: fix typo nobackfile -> nobackfill

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoAdd back the mistakenly removed "ceph osd set noscrub/nodeep-scrub"
Dan Mick [Wed, 7 Aug 2013 01:33:38 +0000 (18:33 -0700)]
Add back the mistakenly removed "ceph osd set noscrub/nodeep-scrub"

Fixes: #5868
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge branch 'wip-recovery-op-warn' into next
Samuel Just [Wed, 7 Aug 2013 01:05:06 +0000 (18:05 -0700)]
Merge branch 'wip-recovery-op-warn' into next

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoOSD: suspend timeout on process_peering_events pg lock
Samuel Just [Tue, 6 Aug 2013 22:04:33 +0000 (15:04 -0700)]
OSD: suspend timeout on process_peering_events pg lock

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #476 from dalgaaf/wip-CID-1058791
Yehuda Sadeh [Tue, 6 Aug 2013 21:25:52 +0000 (14:25 -0700)]
Merge pull request #476 from dalgaaf/wip-CID-1058791

Fix CID 1058791

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agotest: mon: moncap: add 'allow command foo with arg="bar.baz"' tests
Joao Eduardo Luis [Tue, 6 Aug 2013 20:52:51 +0000 (13:52 -0700)]
test: mon: moncap: add 'allow command foo with arg="bar.baz"' tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa: workunits: mon: workunit to stress the monitor's caps
Joao Eduardo Luis [Fri, 2 Aug 2013 21:54:42 +0000 (22:54 +0100)]
qa: workunits: mon: workunit to stress the monitor's caps

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: AuthMonitor: change 'auth add' behaviour
Joao Eduardo Luis [Tue, 30 Jul 2013 20:53:46 +0000 (21:53 +0100)]
mon: AuthMonitor: change 'auth add' behaviour

If an entity already existed, 'auth add' would smash its key and caps
with whatever was on the supplied keyring file; if a keyring weren't
specified, we would simply generate a new key and destroy all existing
caps (unless caps were specified and happened to be different from the
already in-place caps).  This behaviour is obviously sketchy.

With this patch we now enforce the following behaviour:

- if entity does not exist in current state, check if we are about to
  create it (by checking the pending state); if so, wait for the new state
  to be committed and re-handle the command then, so we don't get bad
  results from pending request
- if the command reproduces the current state (same key, same caps), we
  return 0; else,
- if entity exists and supplied key OR caps are different, return -EINVAL
- else create a new entity.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: drop old _allowed_command()
Sage Weil [Fri, 2 Aug 2013 22:17:02 +0000 (15:17 -0700)]
mon: drop old _allowed_command()

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon: services: no longer needed to enforce caps on a per-service basis
Joao Eduardo Luis [Sun, 28 Jul 2013 18:32:49 +0000 (19:32 +0100)]
mon: services: no longer needed to enforce caps on a per-service basis

We now perform all perm checks for commands on Monitor::handle_command().
Services no longer need to check them.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: Monitor: purge old permission checking format on handle_command()
Joao Eduardo Luis [Sun, 28 Jul 2013 17:51:49 +0000 (18:51 +0100)]
mon: Monitor: purge old permission checking format on handle_command()

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: Monitor: check caps considering command's requirements
Joao Eduardo Luis [Fri, 26 Jul 2013 18:56:44 +0000 (19:56 +0100)]
mon: Monitor: check caps considering command's requirements

Fixes: #5648
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoOSD: only start osd_recovery_max_single_start at once
Samuel Just [Tue, 6 Aug 2013 20:02:24 +0000 (13:02 -0700)]
OSD: only start osd_recovery_max_single_start at once

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: ping tphandle between pushes
Samuel Just [Tue, 6 Aug 2013 19:59:15 +0000 (12:59 -0700)]
ReplicatedPG: ping tphandle between pushes

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: ping TPHandle during scan_range
Samuel Just [Tue, 6 Aug 2013 00:21:46 +0000 (17:21 -0700)]
ReplicatedPG: ping TPHandle during scan_range

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSD: also suspend timeout while grabbing recovery_tp lock
Samuel Just [Mon, 5 Aug 2013 20:51:05 +0000 (13:51 -0700)]
OSD: also suspend timeout while grabbing recovery_tp lock

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOpRequest: don't warn as quickly for slow recovery ops
Samuel Just [Mon, 5 Aug 2013 20:25:37 +0000 (13:25 -0700)]
OpRequest: don't warn as quickly for slow recovery ops

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agomon, osd: Clean up "flush(stringstream)" continued
Dan Mick [Sat, 27 Jul 2013 05:52:27 +0000 (22:52 -0700)]
mon, osd: Clean up "flush(stringstream)" continued

Missing files in last commit; sorry!

Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agomon, osd: Clean up "flush(stringstream); bl.append(stringstream.str())
Dan Mick [Sat, 27 Jul 2013 05:52:27 +0000 (22:52 -0700)]
mon, osd: Clean up "flush(stringstream); bl.append(stringstream.str())

Also: One redundant flush in AuthMonitor, two in PGMonitor, and
a ds << that should have been conditional in Monitor.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agodoc: fixing reported bug in CRUSH map example.
John Wilkins [Mon, 5 Aug 2013 21:48:38 +0000 (14:48 -0700)]
doc: fixing reported bug in CRUSH map example.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added many new fields to config reference.
John Wilkins [Mon, 5 Aug 2013 21:13:52 +0000 (14:13 -0700)]
doc: Added many new fields to config reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added trouble shooting entry. Fixed formatting.
John Wilkins [Mon, 5 Aug 2013 20:49:58 +0000 (13:49 -0700)]
doc: Added trouble shooting entry. Fixed formatting.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:45:24 +0000 (13:45 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:59 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:44 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update.
John Wilkins [Mon, 5 Aug 2013 20:44:20 +0000 (13:44 -0700)]
doc: Nomenclature update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Nomenclature update. Added topic for monitor key caps. Added default pool steps.
John Wilkins [Mon, 5 Aug 2013 20:43:21 +0000 (13:43 -0700)]
doc: Nomenclature update. Added topic for monitor key caps. Added default pool steps.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoqa/workunits/cephtool/test.sh: add tests for 'pg dump ...'
Sage Weil [Mon, 5 Aug 2013 20:06:21 +0000 (13:06 -0700)]
qa/workunits/cephtool/test.sh: add tests for 'pg dump ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/PGMonitor: add 'pg dump pgs_brief' subcommand
Dan Mick [Sat, 3 Aug 2013 04:26:51 +0000 (21:26 -0700)]
mon/PGMonitor: add 'pg dump pgs_brief' subcommand

It is useful to map OSDs to PGs and vice-versa; pg dump gives that
information, but gives a lot of other stuff.  This is the same dump
as pg dump pgs, but omitting everything except pgid, state, and
osd up and acting sets.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-python-cleanup' into next
Dan Mick [Mon, 5 Aug 2013 20:03:21 +0000 (13:03 -0700)]
Merge branch 'wip-python-cleanup' into next

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomds: fix locking, use-after-free/race in handle_accept
Sage Weil [Mon, 5 Aug 2013 19:52:44 +0000 (12:52 -0700)]
mds: fix locking, use-after-free/race in handle_accept

We need to hold mds_lock here.

Normally the con also holds a reference, but an ill-timed connection reset
could drop it.

Fixes: #5883
Backport: dumpling, cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorgw: only log (as in ops logging) certain operations
Yehuda Sadeh [Mon, 5 Aug 2013 18:38:27 +0000 (11:38 -0700)]
rgw: only log (as in ops logging) certain operations

Fixes: #5875
ops logging should (at this point) should only include object
store related operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorgw_admin: flush replicalog entries
Yehuda Sadeh [Sat, 3 Aug 2013 05:35:12 +0000 (22:35 -0700)]
rgw_admin: flush replicalog entries

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocephtool/test.sh, rest/test.py: add tell command tests
Dan Mick [Sat, 27 Jul 2013 07:26:41 +0000 (00:26 -0700)]
cephtool/test.sh, rest/test.py: add tell command tests

Also add HTTP method to test.py output

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph.in, ceph_rest_api.py: import only used syms from ceph_argparse.py
Dan Mick [Sat, 27 Jul 2013 06:30:52 +0000 (23:30 -0700)]
ceph.in, ceph_rest_api.py: import only used syms from ceph_argparse.py

This makes pyflakes/pylint happier and is better practice in general

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agocephtool/test.sh: add a few tests for invalid command args
Dan Mick [Sat, 3 Aug 2013 03:50:20 +0000 (20:50 -0700)]
cephtool/test.sh: add a few tests for invalid command args

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>