]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agobuilder: make reweight helpers static, void
Sage Weil [Sun, 20 May 2012 22:11:21 +0000 (15:11 -0700)]
builder: make reweight helpers static, void

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoformatter: replace malloc with new
Yehuda Sadeh [Sun, 20 May 2012 22:08:20 +0000 (15:08 -0700)]
formatter: replace malloc with new

This will throw exception if allocation failed.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agocheck malloc return values
Yehuda Sadeh [Sun, 20 May 2012 22:07:57 +0000 (15:07 -0700)]
check malloc return values

There were a few places where we didn't check malloc return code.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agocrush: check malloc results
Yehuda Sadeh [Sun, 20 May 2012 22:09:08 +0000 (15:09 -0700)]
crush: check malloc results

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agodebian: fix ceph-kdump-copy.init
Sage Weil [Sun, 20 May 2012 19:49:48 +0000 (12:49 -0700)]
debian: fix ceph-kdump-copy.init

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agofilestore: test xattrs on temporary file
Sage Weil [Sat, 19 May 2012 23:03:41 +0000 (16:03 -0700)]
filestore: test xattrs on temporary file

There isn't one we can rely on existing yet.  Broken by
1314a00798ed4b7ef2f2686f0195c5c53c98c2ce while fixing #2452.

Backport: dho
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agofilestore: do not test xattrs on fsid file
Sage Weil [Sat, 19 May 2012 21:56:49 +0000 (14:56 -0700)]
filestore: do not test xattrs on fsid file

This is sufficient to break our fcntl lock, which breaks the check for
other running daemons.

Broken by f03dc34f7e2fc1707fa00339b917c0d2c93dbdd3

Fixes: #2452
Backport: dho
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosdmap: set name_pool correctly in build_simple*()
Sage Weil [Sat, 19 May 2012 20:24:35 +0000 (13:24 -0700)]
osdmap: set name_pool correctly in build_simple*()

Backport: dho
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosdmap: use pg[p]_num accessors
Sage Weil [Sat, 19 May 2012 20:24:47 +0000 (13:24 -0700)]
osdmap: use pg[p]_num accessors

This lets us ensure that calc_pg_masks() is called when pg[p]_num is set or
modified.

Fixes: #2448
Backport: dho
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocephtool: restore osdmap handler
Sage Weil [Sat, 19 May 2012 16:44:00 +0000 (09:44 -0700)]
cephtool: restore osdmap handler

Accidentally removed by 841372494f531c7481cf3eff1b673cedbab4d60d.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: include health in status
Sage Weil [Fri, 18 May 2012 22:07:29 +0000 (15:07 -0700)]
mon: include health in status

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: move health check into helper function
Sage Weil [Fri, 18 May 2012 21:08:11 +0000 (14:08 -0700)]
mon: move health check into helper function

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge remote-tracking branch 'gh/wip-mon-refactor'
Sage Weil [Fri, 18 May 2012 20:54:05 +0000 (13:54 -0700)]
Merge remote-tracking branch 'gh/wip-mon-refactor'

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agomon: fix a bug that was preventing us from subscribing to some log levels.
Joao Eduardo Luis [Fri, 18 May 2012 19:07:45 +0000 (12:07 -0700)]
mon: fix a bug that was preventing us from subscribing to some log levels.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agomon: fix the priority filter.
Joao Eduardo Luis [Fri, 18 May 2012 18:32:43 +0000 (11:32 -0700)]
mon: fix the priority filter.

When a given log level L was specified, we would reply with all the
messages of "level L and below"; for instance, for a 'log-error' we would
present all the messages of level 'error', 'warn', 'sec', 'info' and
'debug'.

We shouldn't be doing it that way, so we just inverted the filter
condition. Now we show only 'L and above'; i.e., for a log level of
'log-warn', show only 'log-warn' and 'log-error'.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agoceph-authtool: fix clitests
Sage Weil [Fri, 18 May 2012 17:59:52 +0000 (10:59 -0700)]
ceph-authtool: fix clitests

No more --bin option.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoceph-authtool: fix usage
Sage Weil [Fri, 18 May 2012 17:59:28 +0000 (10:59 -0700)]
ceph-authtool: fix usage

No more -b, --bin.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge branch 'wip-mon-keyring'
Sage Weil [Fri, 18 May 2012 03:29:42 +0000 (20:29 -0700)]
Merge branch 'wip-mon-keyring'

Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agomon: monmap first from 'status' command
Sage Weil [Fri, 18 May 2012 03:21:19 +0000 (20:21 -0700)]
mon: monmap first from 'status' command

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: only log map state changes from primary
Sage Weil [Fri, 18 May 2012 03:19:58 +0000 (20:19 -0700)]
mon: only log map state changes from primary

We still get noise after elections, but only from the winner.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocephtool: aesthetic change to ceph -w output
Sage Weil [Fri, 18 May 2012 03:18:35 +0000 (20:18 -0700)]
cephtool: aesthetic change to ceph -w output

* no seq
* name, not ip addr

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: aesthetic changes to map change log entries
Sage Weil [Fri, 18 May 2012 03:18:13 +0000 (20:18 -0700)]
mon: aesthetic changes to map change log entries

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMakefile: drop MMonObserve*
Sage Weil [Fri, 18 May 2012 03:12:14 +0000 (20:12 -0700)]
Makefile: drop MMonObserve*

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoremove gceph
Sage Weil [Fri, 18 May 2012 03:11:41 +0000 (20:11 -0700)]
remove gceph

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoceph.spec: don't package gceph
Sage Weil [Fri, 18 May 2012 03:08:16 +0000 (20:08 -0700)]
ceph.spec: don't package gceph

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodebian: don't package gceph
Sage Weil [Fri, 18 May 2012 03:08:11 +0000 (20:08 -0700)]
debian: don't package gceph

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agosrc: get rid of the Observers throughout the code base.
Joao Eduardo Luis [Thu, 17 May 2012 20:48:46 +0000 (13:48 -0700)]
src: get rid of the Observers throughout the code base.

This is a big patch that will remove all references to the observers
throughout the code, including a complete removal of the Observer-related
messages' source files.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agocephtool: Slight rework and pub/sub log support.
Joao Eduardo Luis [Thu, 17 May 2012 00:19:45 +0000 (17:19 -0700)]
cephtool: Slight rework and pub/sub log support.

We reworked the code a bit to accommodate the introduction for the log
monitor's publish/subscribe mechanisms. With this patch we no longer
depend on the observer's, and use instead the much broader approach of
subscribing to events. In our case, we will subscribe to log levels.
If the '-w'/'--watch' flag is defined, the tool will be subscribed to the
'log-info' level by default, unless one of the following flags are defined
(in which case the level will be changed accordingly): '--watch-debug',
'--watch-info', '--watch-sec', '--watch-warn' and '--watch-error'.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agomon: Add publish/subscribe capabilities to the log monitor and status cmd.
Joao Eduardo Luis [Thu, 17 May 2012 00:19:06 +0000 (17:19 -0700)]
mon: Add publish/subscribe capabilities to the log monitor and status cmd.

This patch allows us to stir away from the monitor's observer mechanism,
by using instead the already existing publish/subscribe mechanism.
We follow the log levels used by the log monitor, and will recognize any
one of the following subscriptions: 'log-error' (higher priority),
'log-warn', 'log-sec', 'log-info' and 'log-debug' (lowest priority).

Also, add a new 'status' command to the monitor, which may be invoked by
any client (such as the ceph tool), and which shall return the status of
the various cluster components (osdmap, pgmap, ...).

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agodoc: fix sizes in librbd python examples
Josh Durgin [Thu, 17 May 2012 20:56:32 +0000 (13:56 -0700)]
doc: fix sizes in librbd python examples

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoMerge remote branch 'origin/wip-misc'
Josh Durgin [Thu, 17 May 2012 20:06:26 +0000 (13:06 -0700)]
Merge remote branch 'origin/wip-misc'

Reviewed-by: Sage Weil <sage@inktank.com>
13 years agodoc: fix link to hardware recommendations section
Josh Durgin [Thu, 17 May 2012 19:57:18 +0000 (12:57 -0700)]
doc: fix link to hardware recommendations section

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agodoc: fix formatting and a couple config defaults
Josh Durgin [Thu, 17 May 2012 18:54:02 +0000 (11:54 -0700)]
doc: fix formatting and a couple config defaults

``ceph.conf`` needed spaces around it to be parsed correctly.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoFileJournal: Clarify log message on journal too small.
Tommi Virtanen [Thu, 17 May 2012 16:54:02 +0000 (09:54 -0700)]
FileJournal: Clarify log message on journal too small.

The OSDs tolerate a full journal, it will just result in a latency
spike. Make the error message say operation will continue, just
slower.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
13 years agoReplicatedPG: fill in data_off in OSDOpReply
Josh Durgin [Thu, 17 May 2012 01:37:05 +0000 (18:37 -0700)]
ReplicatedPG: fill in data_off in OSDOpReply

The assignment was accidentally made unreachable by
ff55d2f310312bb5390326dcc35961d39ccad416

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoMerge branch 'next'
Josh Durgin [Thu, 17 May 2012 00:43:54 +0000 (17:43 -0700)]
Merge branch 'next'

13 years agoMerge branch 'wip-oc-error-handling' into next
Josh Durgin [Thu, 17 May 2012 00:42:21 +0000 (17:42 -0700)]
Merge branch 'wip-oc-error-handling' into next

Reviewed-by: Sage Weil <sage@inktank.com>
13 years agoconfig: improve comments for rbd caching options
Josh Durgin [Wed, 16 May 2012 21:06:55 +0000 (14:06 -0700)]
config: improve comments for rbd caching options

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agolibrbd: check for cache flush errors
Josh Durgin [Wed, 16 May 2012 19:41:27 +0000 (12:41 -0700)]
librbd: check for cache flush errors

Return errors from flushing to the caller. Warn
if an error occurs during invalidation, but don't retry,
since the higher level handles these cases, namely:

* rollback (doing this with an image open is asking for trouble)
* shrink (doing this with writes in flight may create extra objects anyway)
* shutdown (qemu flushes before closing the device)

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoMerge remote-tracking branch 'gh/wip-mon-encoding'
Sage Weil [Wed, 16 May 2012 23:55:04 +0000 (16:55 -0700)]
Merge remote-tracking branch 'gh/wip-mon-encoding'

Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agoMerge branch 'wip-upstart'
Sage Weil [Wed, 16 May 2012 23:53:45 +0000 (16:53 -0700)]
Merge branch 'wip-upstart'

Reviewed-by: Tommi Virtanen <tv@inktank.com>
13 years agoinit-radosgw: skip sections without host= line
Sage Weil [Wed, 16 May 2012 23:37:40 +0000 (16:37 -0700)]
init-radosgw: skip sections without host= line

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agokeyring: drop binary encoder
Sage Weil [Wed, 16 May 2012 21:02:26 +0000 (14:02 -0700)]
keyring: drop binary encoder

Drop the keyring encode method, and binary encoder.

Don't just encode in plaintext because we assume we get the whole
bufferlist, and encoding something like list<KeyRing> would thus fail.

Fixes: #2435
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agokeyring: always encode in plaintext
Sage Weil [Wed, 16 May 2012 20:58:57 +0000 (13:58 -0700)]
keyring: always encode in plaintext

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: make 'auth get-key <name>' return key
Sage Weil [Wed, 16 May 2012 20:12:29 +0000 (13:12 -0700)]
mon: make 'auth get-key <name>' return key

Same as 'print-key'.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: 'auth list' is a read-only operation
Sage Weil [Mon, 14 May 2012 22:19:31 +0000 (15:19 -0700)]
mon: 'auth list' is a read-only operation

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: 'auth get-or-create-key name capsys capval capsys2 capval2 ...'
Sage Weil [Mon, 14 May 2012 22:10:20 +0000 (15:10 -0700)]
mon: 'auth get-or-create-key name capsys capval capsys2 capval2 ...'

Fixes: #2406
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoauth: EntityName ==, != operators
Sage Weil [Mon, 14 May 2012 21:41:45 +0000 (14:41 -0700)]
auth: EntityName ==, != operators

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: make 'auth get <name>' dump plaintext keyring
Sage Weil [Mon, 14 May 2012 21:21:52 +0000 (14:21 -0700)]
mon: make 'auth get <name>' dump plaintext keyring

This is friendlier.

Fixes: #2406
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoinit-ceph: ignore sections without 'host' defined
Sage Weil [Mon, 14 May 2012 21:16:25 +0000 (14:16 -0700)]
init-ceph: ignore sections without 'host' defined

This will make it easier for sysvinit and upstart to coexist.

We will break existing users who have a separate .conf for each node and
didn't add host lines.  We'll need to make note of that in the release
notes.

Fixes: #2404
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoObjectCacher: handle write errors
Josh Durgin [Tue, 15 May 2012 22:21:50 +0000 (15:21 -0700)]
ObjectCacher: handle write errors

If a write error occurs, mark the BufferHead dirty again, and
pass the return value to the completion. This makes flushing
return the write error, if one occurs, since the flush callback
is passed as the write callback.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoObjectCacher: propagate read errors to the caller
Josh Durgin [Tue, 15 May 2012 17:58:59 +0000 (10:58 -0700)]
ObjectCacher: propagate read errors to the caller

Previously the return value of a read operation was ignored.  Now a
read error sets the error field, and changes the BufferHead to a new
error state. Error state BufferHeads are treated as misses so they can
be retried when requested by a user of the ObjectCacher.  When _readx
is called again internally, they're treated as hits so the error can
be returned to the user.

The error value is ignored if the BufferHead is not in the error
state.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoceph-dencoder: add AuthMonitor::Incremental
Sage Weil [Wed, 16 May 2012 23:10:52 +0000 (16:10 -0700)]
ceph-dencoder: add AuthMonitor::Incremental

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: use new encoder macros for AuthMonitor::Incremantal
Sage Weil [Wed, 16 May 2012 23:06:42 +0000 (16:06 -0700)]
mon: use new encoder macros for AuthMonitor::Incremantal

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agofeatures: explicitly use CEPH_FEATURES_ALL instead of -1
Sage Weil [Wed, 16 May 2012 23:04:19 +0000 (16:04 -0700)]
features: explicitly use CEPH_FEATURES_ALL instead of -1

Make it clear to readers what that -1 is all about.  Alex would be proud.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: fix mon removal check
Sage Weil [Wed, 16 May 2012 22:37:34 +0000 (15:37 -0700)]
mon: fix mon removal check

Only take our absence from the monmap to mean that we were removed if we
were ever a member in the first places.

This fixes the bootstrap case:

 - create temp_monmap with existing member(s) plus new guy
 - ceph-mon --mkfs --monmap temp_monmap --fsid ...
 - start ceph-mon

Basically, this is just using the seed monmap as a way to tell the new
daemon which ip:port to use.  Specifying mon addr, public network, or
public addr would also work.

Fixes: #2436
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: add ioctx parameter to rbd pybind examples.
Greg Farnum [Wed, 16 May 2012 20:42:55 +0000 (13:42 -0700)]
doc: add ioctx parameter to rbd pybind examples.

This parameter is required and was missing. And fix a typo

13 years agolibrados: avoid overflow in the return value of reads
Josh Durgin [Wed, 16 May 2012 20:40:51 +0000 (13:40 -0700)]
librados: avoid overflow in the return value of reads

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoObjectCacher: only perfcount reads requested by the client
Josh Durgin [Wed, 16 May 2012 20:40:43 +0000 (13:40 -0700)]
ObjectCacher: only perfcount reads requested by the client

_readx is called again after each bh is read by C_RetryRead. This
resulted in the read being counted many times for the internal
caller that was just checking whether it was done yet.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoosd: include age in 'slow request' messages
Sage Weil [Wed, 16 May 2012 20:07:38 +0000 (13:07 -0700)]
osd: include age in 'slow request' messages

Make log messages easier to interpret, without subtracting timestamps in
your head.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoworkloadgen: Add transaction throughput infos.
Joao Eduardo Luis [Mon, 14 May 2012 16:53:21 +0000 (09:53 -0700)]
workloadgen: Add transaction throughput infos.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agoAdditional documentation theme changes:
Ross Turk [Tue, 15 May 2012 18:16:09 +0000 (11:16 -0700)]
Additional documentation theme changes:

1) Adjust h2 tags so that section titles are visually differentiated
2) Add 1.5em of margin to all pre blocks and tables

Signed-off-by: Ross Turk <ross@inktank.com>
13 years agomonmap: new encoder
Sage Weil [Tue, 15 May 2012 04:15:52 +0000 (21:15 -0700)]
monmap: new encoder

Introduce a feature bit so that we can interoperate with older
peers.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditonally encode monmap for peer mon during probe
Sage Weil [Tue, 15 May 2012 04:03:42 +0000 (21:03 -0700)]
mon: conditonally encode monmap for peer mon during probe

This might be sufficient to let monitors with different versions of the
monmap encoding interoperate, but I'm too lazy to fully test it right now.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomonmap: use feature bits and single encode() method
Sage Weil [Tue, 15 May 2012 04:01:58 +0000 (21:01 -0700)]
monmap: use feature bits and single encode() method

Instead of selecting an encode method in the caller, use a normal features
argument to encode() and branch there.

Leave behavior of all callers untouched.  We continue to assume, for
example, that all monitors have the same features, and that
'ceph mon getmap' should return the fully-featured encoding.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: new encoding for MonCaps
Sage Weil [Tue, 15 May 2012 03:53:31 +0000 (20:53 -0700)]
mon: new encoding for MonCaps

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge branch 'stable'
Sage Weil [Tue, 15 May 2012 03:30:35 +0000 (20:30 -0700)]
Merge branch 'stable'

Conflicts:
src/osdc/Objecter.cc

13 years agoObjecter: don't throttle resent linger ops
Josh Durgin [Mon, 14 May 2012 18:49:49 +0000 (11:49 -0700)]
Objecter: don't throttle resent linger ops

Throttling is intended to stop the caller from submitting too many
requests, not blocking requests that are being resent internally. This
prevents a deadlock when handling an osdmap - previously
handle_osd_map could block when resending linger ops due to the
throttling. This would stop the messenger's dispatch thread from
delivering any subsequest messages, so the throttle budget would never
be replenished.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
13 years agoobjecter: ping connections with lingering ops every tick()
Yehuda Sadeh [Thu, 3 May 2012 00:33:43 +0000 (17:33 -0700)]
objecter: ping connections with lingering ops every tick()

Also, make sure that we initialize linger_op.session once
we have it.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agomon: use external keyring for mon->mon auth
Sage Weil [Tue, 8 May 2012 23:30:26 +0000 (16:30 -0700)]
mon: use external keyring for mon->mon auth

- Feed our keyring into the auth methods.
- Do not fail to build a ticket for type MON when we don't have a cap; it
  won't be in the auth database.  Also, we don't have caps on the monitors
  that are enfoced between each other.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: keep mon. secret in an external keyring
Sage Weil [Tue, 15 May 2012 03:13:40 +0000 (20:13 -0700)]
mon: keep mon. secret in an external keyring

- Keep the mon. key in a separate keyring files, "keyring", in the mon
  data dir.
- During init, if we don't find that file, copy the key from the keyserver
  database.
- During mkfs, put the mon. key in that file, and remove it from the seed
  file that primes the auth database.

This will allow admins to change the mon. key without bringing the cluster
online and doing something wonky.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoDocumentation theme updates:
Ross Turk [Mon, 14 May 2012 19:53:02 +0000 (12:53 -0700)]
Documentation theme updates:

1) Background color in navbar
2) Correct body fonts
3) Document pane background (below the content)

13 years agoMerge branch 'wip-osdmap'
Sage Weil [Mon, 14 May 2012 18:34:03 +0000 (11:34 -0700)]
Merge branch 'wip-osdmap'

Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agoUpdated link to publications
Ross Turk [Mon, 14 May 2012 18:27:06 +0000 (11:27 -0700)]
Updated link to publications

13 years agocrush: pass weight vector size to map function
Sage Weil [Sat, 12 May 2012 21:59:55 +0000 (14:59 -0700)]
crush: pass weight vector size to map function

Pass the size of the weight vector into crush_do_rule() to ensure that we
don't access values past the end.  This can happen if the caller misbehaves
and passes a weight vector that is smaller than max_devices.

Currently the monitor tries to prevent that from happening, but this will
gracefully tolerate previous bad osdmaps that got into this state.  It's
also a bit more defensive.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocrush: adjust max_devices appropriately in insert_item()
Sage Weil [Sat, 12 May 2012 21:33:51 +0000 (14:33 -0700)]
crush: adjust max_devices appropriately in insert_item()

If we insert a new item, make sure max_devices is still the max id + 1.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: fail 'osd crush set ...' is osd doesn't exist
Sage Weil [Mon, 14 May 2012 18:24:28 +0000 (11:24 -0700)]
mon: fail 'osd crush set ...' is osd doesn't exist

If an osd doesn't exist, don't let users add/update it in the crush map.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocephfs: pass -1 for old preferred_osd field
Sage Weil [Sun, 13 May 2012 03:03:53 +0000 (20:03 -0700)]
cephfs: pass -1 for old preferred_osd field

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosdmap: filter out nonexistent osds from map
Sage Weil [Sat, 12 May 2012 21:18:27 +0000 (14:18 -0700)]
osdmap: filter out nonexistent osds from map

It is possible that the crush map contains device ids that do not exist as
osds.  Filter them out of the CRUSH result.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agokeyring: make child of KeyStore
Sage Weil [Tue, 8 May 2012 23:24:12 +0000 (16:24 -0700)]
keyring: make child of KeyStore

This lets us pass a keyring to the auth methods as a source for keys for
doing the authentication handshaking.  Normally we pass a RotatatingKeyring
or the KeyServer, but for mon->mon we don't use a service key.  This will
let us use a simple KeyRing for that.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoutime_t: no double ctor
Sage Weil [Thu, 10 May 2012 17:09:30 +0000 (10:09 -0700)]
utime_t: no double ctor

error: os/FileJournal.h:48:51: call of overloaded ‘utime_t(int)’ is ambiguous

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoobjectcacher: make *_max_dirty_age tunables; pass to ctor
Sage Weil [Tue, 8 May 2012 23:19:51 +0000 (16:19 -0700)]
objectcacher: make *_max_dirty_age tunables; pass to ctor

This replaces the hard-coded 1 second writeback timer.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agolibrbd: set cache defaults to 32/24/16 mb
Sage Weil [Tue, 8 May 2012 23:08:22 +0000 (16:08 -0700)]
librbd: set cache defaults to 32/24/16 mb

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'wip-rbd-wt'
Sage Weil [Tue, 8 May 2012 23:04:12 +0000 (16:04 -0700)]
Merge branch 'wip-rbd-wt'

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
13 years agotest_filestore_workloadgen: name the Mutex variable
Sage Weil [Tue, 8 May 2012 04:42:51 +0000 (21:42 -0700)]
test_filestore_workloadgen: name the Mutex variable

This is for interpreting lockdep reports.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge remote branch 'gh/wip-wrkldgen-throughput'
Sage Weil [Tue, 8 May 2012 04:41:46 +0000 (21:41 -0700)]
Merge remote branch 'gh/wip-wrkldgen-throughput'

13 years agoworkloadgen: time tracking using ceph's utime_t's instead of timevals.
Joao Eduardo Luis [Tue, 8 May 2012 02:37:07 +0000 (19:37 -0700)]
workloadgen: time tracking using ceph's utime_t's instead of timevals.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agoworkloadgen: forcing the user to specify a data and journal.
Joao Eduardo Luis [Mon, 7 May 2012 23:20:43 +0000 (16:20 -0700)]
workloadgen: forcing the user to specify a data and journal.

These default arguments, although handy when we just want to run the test,
just mess things up when we don't actually need them. If we don't specify
them on the CLI, we'll end up using the default ones, and that is just
annoying.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agoworkloadgen: add option to specify the max number of in-flight txs.
Joao Eduardo Luis [Mon, 7 May 2012 22:28:18 +0000 (15:28 -0700)]
workloadgen: add option to specify the max number of in-flight txs.

Use '--test-max-in-flight VAL' (default: 50) or check '--help' for more.
Also, allow the test to work even if we don't specify a conf file.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agoworkloadgen: Allow finer control over what the generator does.
Joao Eduardo Luis [Fri, 4 May 2012 23:42:26 +0000 (00:42 +0100)]
workloadgen: Allow finer control over what the generator does.

  Allow the user to have more control on:
    - the sizes of the data being written by the operations;
    - which operations are suppressed from execution;
    - view the throughput;
    - specify the periodicity of throughput output.

For the CLI options, '--help' should suffice.

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
13 years agoMerge branch 'wip-rgw-bench'
Sage Weil [Mon, 7 May 2012 22:57:31 +0000 (15:57 -0700)]
Merge branch 'wip-rgw-bench'

Conflicts:
debian/rules

13 years agolibs3: trailing / does strange things to EXTRA_DIST
Sage Weil [Mon, 7 May 2012 18:16:43 +0000 (11:16 -0700)]
libs3: trailing / does strange things to EXTRA_DIST

drwxr-xr-x 1031/1031         0 2012-05-07 11:15 ceph-0.46/src/libs3/inc/
drwxr-xr-x 1031/1031         0 2012-05-04 15:28 ceph-0.46/src/libs3/inc/inc/
-rw-r--r-- 1031/1031      2343 2012-05-04 15:28 ceph-0.46/src/libs3/inc/inc/simplexml.h

etc.  Freaking autotools!

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge remote-tracking branch 'gh/wip-osd-peering'
Sage Weil [Mon, 7 May 2012 16:25:12 +0000 (09:25 -0700)]
Merge remote-tracking branch 'gh/wip-osd-peering'

Reviewed-by: Sam Just <sam.just@inktank.com>
13 years agoMakefile: drop librgw.so unittests
Sage Weil [Sun, 6 May 2012 21:52:25 +0000 (14:52 -0700)]
Makefile: drop librgw.so unittests

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph.spec: kill librgw
Sage Weil [Sun, 6 May 2012 21:50:39 +0000 (14:50 -0700)]
ceph.spec: kill librgw

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agodebian: kill librgw.so
Sage Weil [Sun, 6 May 2012 21:50:30 +0000 (14:50 -0700)]
debian: kill librgw.so

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: reset last_peering_interval on replica activate
Sage Weil [Sun, 6 May 2012 21:18:22 +0000 (14:18 -0700)]
osd: reset last_peering_interval on replica activate

There was a silent bug in the activate 'acks' that go from the replica back
to the primary.  Prior to 86aa07d7a91ac23074e76551c3a6db3a5736cffa, we
were passing same_interval_since to the callback, which mean that
sometimes _activate_committed() would ignore it and we wouldn't update
last_epoch_started.  This was mosty invisible; the next peering event would
just, in some cases, look at more past intervals than it needed to.

In 86aa07d7a91ac23074e76551c3a6db3a5736cffa we fixed this so that the check
is correct.  (We noticed because now we aren't setting the pg CLEAN flag
until after last_epoch_started is updated.)  That, in turn, revealed a
similar bug that we're fixing here: the replica's last_peering_reset could
be lower than the primary's, such that the activate 'ack' info is ignored.

To fix this, simply set last_peering_reset to the current epoch when the
replica activates; this will always be greater than the primary's.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agolibs3: dist and distdir make targets
Sage Weil [Sun, 6 May 2012 20:23:14 +0000 (13:23 -0700)]
libs3: dist and distdir make targets

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMakefile: include libs3/ contents in dist tarball
Sage Weil [Sun, 6 May 2012 20:22:40 +0000 (13:22 -0700)]
Makefile: include libs3/ contents in dist tarball

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMakefile: osdc/Journaler is only used by the mds
Sage Weil [Sun, 6 May 2012 19:53:15 +0000 (12:53 -0700)]
Makefile: osdc/Journaler is only used by the mds

Signed-off-by: Sage Weil <sage@inktank.com>