]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agoencoding: WRITE_CLASS_ENCODER_MEMBER -> WRITE_CLASS_MEMBER_ENCODER
Sage Weil [Wed, 19 Oct 2011 05:25:06 +0000 (22:25 -0700)]
encoding: WRITE_CLASS_ENCODER_MEMBER -> WRITE_CLASS_MEMBER_ENCODER

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agotest_filestore_idempotent: simple tool to generate a worklaod of non-idempotent opera...
Sage Weil [Tue, 18 Oct 2011 21:12:06 +0000 (14:12 -0700)]
test_filestore_idempotent: simple tool to generate a worklaod of non-idempotent operations

Generate a workload of operations that are non-idempotent.  These are:

 transaction {
   clone A -> A.($n-1)
   write $n to A
 }
 $n++
 loop!

If we apply any transaction to the file system more than once, we will
find that the A.$n object does not contain $n, but instead contains
some larger value.

First run in 'write' mode to generate a workload and fake a crash.
Then run in 'verify' mode to see if the result was bad.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agofilestore: tolerate EEXIST on mkcoll when not-btrfs
Sage Weil [Tue, 18 Oct 2011 21:13:11 +0000 (14:13 -0700)]
filestore: tolerate EEXIST on mkcoll when not-btrfs

For non-btrfs file systems we should tolerate EEXIST because we may
replay the event more than once.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomds: handle xattrs on inode creation
Sage Weil [Tue, 18 Oct 2011 20:38:21 +0000 (13:38 -0700)]
mds: handle xattrs on inode creation

Allow mknod, mkdir, symlink, create to provide xattrs for the new
inode.  This will be used by the kclient to set ACLs on new inodes
based on the parent directory.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: workqueue suicide timeout is infinity
Yehuda Sadeh [Tue, 18 Oct 2011 18:01:43 +0000 (11:01 -0700)]
rgw: workqueue suicide timeout is infinity

13 years agodoc: Change diagram to have radosgw closer to direct rados access.
Tommi Virtanen [Mon, 17 Oct 2011 23:13:14 +0000 (16:13 -0700)]
doc: Change diagram to have radosgw closer to direct rados access.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
13 years agostreamtest: do mkfs
Sage Weil [Mon, 17 Oct 2011 21:13:40 +0000 (14:13 -0700)]
streamtest: do mkfs

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agostreamtest: print to stdout
Sage Weil [Mon, 17 Oct 2011 21:12:48 +0000 (14:12 -0700)]
streamtest: print to stdout

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomkcephfs: copy ceph.conf to /etc/ceph/ceph.conf (when -a)
Sage Weil [Mon, 17 Oct 2011 17:49:46 +0000 (10:49 -0700)]
mkcephfs: copy ceph.conf to /etc/ceph/ceph.conf (when -a)

You can disable this with --no-copy-conf.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: implement 'flush_pg_stats' command
Sage Weil [Sat, 15 Oct 2011 03:20:11 +0000 (20:20 -0700)]
osd: implement 'flush_pg_stats' command

This flushes the current pg stats to the monitor, and blocks until the
monitor commits it.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: process commands in a workqueue
Sage Weil [Sat, 15 Oct 2011 03:19:38 +0000 (20:19 -0700)]
osd: process commands in a workqueue

This lets us do commands that can potentially block.  For example:

 - flush pg stats to osd
 - request (and wait for) latest osdmap

Currently the threadpool only has 1 thread.  i.e., one concurrent command.
That should be fine, methinks.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: feed MPGStats tids back through the MPGStatsAck
Sage Weil [Fri, 14 Oct 2011 20:55:57 +0000 (13:55 -0700)]
mon: feed MPGStats tids back through the MPGStatsAck

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: remove some pg stats debug cruft
Sage Weil [Fri, 14 Oct 2011 20:44:43 +0000 (13:44 -0700)]
osd: remove some pg stats debug cruft

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: handle (and reply to) direct MCommands
Sage Weil [Wed, 12 Oct 2011 17:44:19 +0000 (10:44 -0700)]
osd: handle (and reply to) direct MCommands

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agocephtool: ability to send commands directly to osds
Sage Weil [Wed, 12 Oct 2011 17:38:23 +0000 (10:38 -0700)]
cephtool: ability to send commands directly to osds

This makes commands beginning with 'tell <target>' magic in that they go
to the given target instead of to the monitor.  This is slightly odd, but
I think it gives the most natural interface for the user, with the tool
Doing The Right Thing for you.  E.g.,

 ceph tell <someone> something      (direct to some daemon)
 ceph do something                  (goes to monitor to do X)

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomsg: entity_name_t::parse()
Sage Weil [Wed, 12 Oct 2011 03:57:24 +0000 (20:57 -0700)]
msg: entity_name_t::parse()

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agomsg: add MCommand, MCommandReply message types
Sage Weil [Wed, 12 Oct 2011 00:51:07 +0000 (17:51 -0700)]
msg: add MCommand, MCommandReply message types

These are similar to MMonCommand[Ack], but aren't PaxosServiceMessage
children, don't include the command in the reply (useless), have a more
generic name.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: assert on any unexpected error
Sage Weil [Fri, 14 Oct 2011 23:49:28 +0000 (16:49 -0700)]
filestore: assert on any unexpected error

Right now, the only errors we expect out of the underlying filesystem are
-ENOENT, -ENODATA, or (as a workaround for extN xattr suckage) -ENOSPC
for certain setxattr operations.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: make number of old paxos states configurable
Sage Weil [Fri, 14 Oct 2011 20:30:43 +0000 (13:30 -0700)]
mon: make number of old paxos states configurable

Currently settable on osdmaps, pgmaps, and log.  Still need MDSMap and
authmap trimming.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: share oldest_map info with peers
Sage Weil [Fri, 14 Oct 2011 20:29:33 +0000 (13:29 -0700)]
osd: share oldest_map info with peers

This helps OSDs trim their old maps even when they don't get MOSDMap
messages directly from the monitor.

It also feeds that information to clients, although they don't use it yet.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: send full map if we don't have sufficiently old incremental
Sage Weil [Fri, 14 Oct 2011 20:28:51 +0000 (13:28 -0700)]
osd: send full map if we don't have sufficiently old incremental

If the peer has a really old map, send a full map instead of crashing
because we are missing the needed incremental.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agopaxos: trim extra state dirs
Sage Weil [Fri, 14 Oct 2011 04:26:13 +0000 (21:26 -0700)]
paxos: trim extra state dirs

OSDMonitor, for instance, stores both an "osdmap" and "osdmap_full" for
each state.  Trim them both.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: remove old osdmaps
Sage Weil [Fri, 14 Oct 2011 04:14:09 +0000 (21:14 -0700)]
osd: remove old osdmaps

When the monitor removes old maps, we should too.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoPG: call set_last_peering_reset in Started contructor
Samuel Just [Fri, 14 Oct 2011 19:59:42 +0000 (12:59 -0700)]
PG: call set_last_peering_reset in Started contructor

Calling it here should cover all possible replica and primary peering
resets.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoPG: Fix log.empty confusion
Samuel Just [Thu, 13 Oct 2011 21:35:13 +0000 (14:35 -0700)]
PG: Fix log.empty confusion

Previously, log.empty meant that the log.head was everion_t().  However,
it was in a few places used to mean that log.head == log.tail.  Now,
log.empty means log.head == log.tail and log.null() indicates that
log.head is eversion_t().

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agomakefile changes for interval tree
Jojy George Varghese [Wed, 12 Oct 2011 06:47:10 +0000 (23:47 -0700)]
makefile changes for interval tree

Added unit test case for interval tree to the makefile template.

Signed-off-by: Jojy George Varghese <jvarghese@scalecomputing.com>
13 years agomds: Unit tests for interval tree
Jojy George Varghese [Wed, 12 Oct 2011 06:26:13 +0000 (23:26 -0700)]
mds: Unit tests for interval tree

Provides usage scenarios and test cases for interval tree
implementation.

Tests include:
 - testing addInterval interface
 - testing removeInterval interfaces
 - testing with various template parameters

Signed-off-by: Jojy George Varghese <jvarghese@scalecomputing.com>
13 years agomds: Interval tree implementation
Jojy George Varghese [Wed, 12 Oct 2011 06:17:16 +0000 (23:17 -0700)]
mds: Interval tree implementation

Interval tree is an optimized data structure for representing and
querying intervals. Elementary intervals are represented as nodes of an
avl tree and the corresponding data is stored on these nodes based on a
concept of span. This representation allows log(n) (where n is the
number of data) storage. The balanced avl tree allows a log(n) query.
The implementation is a template class that is instantiated based on
parameters : - Interval type - Data type

Signed-off-by: Jojy George Varghese <jvarghese@scalecomputing.com>
13 years agoauth: remove global instance of auth_supported
Sage Weil [Thu, 13 Oct 2011 20:28:41 +0000 (13:28 -0700)]
auth: remove global instance of auth_supported

Wrap it in a class.

Instantiate locally, or keep a copy around if we'll need it often.

Factor out the protocol selection into an AuthSupported method.  Prefer
larger ids, for lack of a better policy.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: bound generate_past_intervals() by oldest map
Sage Weil [Thu, 13 Oct 2011 16:53:41 +0000 (09:53 -0700)]
osd: bound generate_past_intervals() by oldest map

The oldest osdmap we maintain is a lower bound on last_epoch_clean for the
entire system (assuming the monitor is doing it's job right).  We can stop
generating past intervals when we hit it.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agocls_rgw: remove the write_bucket_dir function.
Greg Farnum [Wed, 12 Oct 2011 00:02:20 +0000 (17:02 -0700)]
cls_rgw: remove the write_bucket_dir function.

It's no longer called anywhere. Hurray, we don't do our own
read-modify-write cycle any more (and can exploit the power of
btrees later)!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agocls_rgw: rewrite rgw_bucket_complete_op to use update.
Greg Farnum [Wed, 12 Oct 2011 23:37:55 +0000 (16:37 -0700)]
cls_rgw: rewrite rgw_bucket_complete_op to use update.

Unfortunately we can't do multiple writes via the interface -- the
second one will clobber the first one. So use the update functionality
and go through that pain instead.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agocls_rgw: refactor rgw_bucket_complete_op in terms of TMAP
Greg Farnum [Tue, 11 Oct 2011 23:58:10 +0000 (16:58 -0700)]
cls_rgw: refactor rgw_bucket_complete_op in terms of TMAP

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agocls_rgw: refactor rgw_bucket_prepare_op in terms of tmap
Greg Farnum [Tue, 11 Oct 2011 23:28:22 +0000 (16:28 -0700)]
cls_rgw: refactor rgw_bucket_prepare_op in terms of tmap

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agocls_rgw: refactor rgw_bucket_init_index in terms of tmap
Greg Farnum [Tue, 11 Oct 2011 22:51:08 +0000 (15:51 -0700)]
cls_rgw: refactor rgw_bucket_init_index in terms of tmap

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agocls_rgw: refactor read_bucket_dir in terms of tmap.
Greg Farnum [Tue, 11 Oct 2011 22:50:33 +0000 (15:50 -0700)]
cls_rgw: refactor read_bucket_dir in terms of tmap.

This function won't be called often once refactoring is done, but
its functionality will be needed for listing, if nothing else.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoobjclass: add map interfaces.
Greg Farnum [Wed, 5 Oct 2011 20:30:59 +0000 (13:30 -0700)]
objclass: add map interfaces.

Right now, they implement the TMAP functions, plus a few obvious
extras to read/write select keys and the header. In the future it
should be easy to switch them to better mapping implementations.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoReplicatedPG: remove unused tmap implementation.
Greg Farnum [Tue, 11 Oct 2011 21:39:04 +0000 (14:39 -0700)]
ReplicatedPG: remove unused tmap implementation.

If it's surrounded by an if(0), it shouldn't still be in the code.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agotest_librbd: expect copy to succeed
Josh Durgin [Wed, 12 Oct 2011 20:58:03 +0000 (13:58 -0700)]
test_librbd: expect copy to succeed

0 is the success return code. These were accidentally changed in the
conversion to gtest.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agolibrbd: return errors when read_iterate fails during copy
Josh Durgin [Wed, 12 Oct 2011 20:35:08 +0000 (13:35 -0700)]
librbd: return errors when read_iterate fails during copy

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoPG: merge_old_entry: merged delete might not be in missing
Samuel Just [Wed, 12 Oct 2011 22:44:08 +0000 (15:44 -0700)]
PG: merge_old_entry: merged delete might not be in missing

If the new log does not contain an entry for that oid, it might not yet
be in missing, and we would need to add it.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agorgw: swift key removal
Yehuda Sadeh [Wed, 12 Oct 2011 21:46:09 +0000 (14:46 -0700)]
rgw: swift key removal

13 years agoRevert "config: base default libdir, sysconfdir off autoconf values"
Sage Weil [Wed, 12 Oct 2011 18:14:39 +0000 (11:14 -0700)]
Revert "config: base default libdir, sysconfdir off autoconf values"

This reverts commit 7e5dee907a8218647a88d1c7d3316cc277e1c44b.

13 years agoconfig: base default libdir, sysconfdir off autoconf values
Sage Weil [Wed, 12 Oct 2011 16:33:53 +0000 (09:33 -0700)]
config: base default libdir, sysconfdir off autoconf values

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: implement some missing swift api, other swift fixes
Yehuda Sadeh [Tue, 11 Oct 2011 22:06:34 +0000 (15:06 -0700)]
rgw: implement some missing swift api, other swift fixes

13 years agorgw: encoded swift key contains full user name
Yehuda Sadeh [Tue, 11 Oct 2011 19:31:15 +0000 (12:31 -0700)]
rgw: encoded swift key contains full user name

13 years agorgw: multiple swift keys per user
Yehuda Sadeh [Tue, 11 Oct 2011 17:49:27 +0000 (10:49 -0700)]
rgw: multiple swift keys per user

13 years agoPG,OSD: clean up xlist::items on pg removal
Samuel Just [Tue, 11 Oct 2011 15:33:32 +0000 (08:33 -0700)]
PG,OSD: clean up xlist::items on pg removal

Should take care of #1599.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoosd: fix race between op requeueing and _dispatch
Sage Weil [Tue, 11 Oct 2011 18:16:20 +0000 (11:16 -0700)]
osd: fix race between op requeueing and _dispatch

If a message is working it's way through _dispatch, and another thread
requeues waiting messages under pg->lock (e.g.
osd->take_waiting(waiting_for_active)), the requeued ops are processed
after the one _dispatch() is chewing on, breaking client ordering.

Instead, add a new OSD::requeue_ops() that reinjects ops back into the
op queue by feeding them to the _handle_*() helpers.  Those do last minute
checks before enqueuing the ops.

Fixes: #1490 (again)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agothread: whitespace
Sage Weil [Tue, 11 Oct 2011 18:10:28 +0000 (11:10 -0700)]
thread: whitespace

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: clean up error output
Sage Weil [Tue, 11 Oct 2011 18:04:58 +0000 (11:04 -0700)]
filestore: clean up error output

No color codes in the logs!

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agofilestore: tolerate missing current/
Sage Weil [Tue, 11 Oct 2011 18:08:02 +0000 (11:08 -0700)]
filestore: tolerate missing current/

We remove it anyway.  If it's missing entirely, just continue and roll
back to the latest snap_ when the user passes --osd-use-stale-snap.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph.spec.in: fix radosgw files
Sage Weil [Sun, 9 Oct 2011 22:35:52 +0000 (15:35 -0700)]
ceph.spec.in: fix radosgw files

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: find fcgi headers in /usr/include or /usr/include/fastcgi
Sage Weil [Sun, 9 Oct 2011 22:27:10 +0000 (15:27 -0700)]
rgw: find fcgi headers in /usr/include or /usr/include/fastcgi

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoceph.spec.in: more updates to make build.opensuse.org happy
Sage Weil [Sun, 9 Oct 2011 03:58:40 +0000 (20:58 -0700)]
ceph.spec.in: more updates to make build.opensuse.org happy

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoceph.spec.in: add init-radosgw back
Sage Weil [Sat, 8 Oct 2011 23:30:50 +0000 (16:30 -0700)]
ceph.spec.in: add init-radosgw back

Accidentally took this out a few patches back.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: push log list|show|rm into RGWStore
Sage Weil [Sat, 8 Oct 2011 23:05:17 +0000 (16:05 -0700)]
rgw: push log list|show|rm into RGWStore

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoradosgw-admin: push log listing into RGWRados
Sage Weil [Sat, 8 Oct 2011 21:56:00 +0000 (14:56 -0700)]
radosgw-admin: push log listing into RGWRados

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: chdir to dir in conf (default /)
Sage Weil [Sat, 8 Oct 2011 17:46:30 +0000 (10:46 -0700)]
rgw: chdir to dir in conf (default /)

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: push intent log processing into RGWRados layer
Sage Weil [Sat, 8 Oct 2011 03:48:56 +0000 (20:48 -0700)]
rgw: push intent log processing into RGWRados layer

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agolibrbd: don't return >32bit value from copy().
Sage Weil [Mon, 10 Oct 2011 18:50:22 +0000 (11:50 -0700)]
librbd: don't return >32bit value from copy().

Signed-off-by: Sage Weil <sage@newdream.net>
13 years ago.gitignore: test_libhadoopcephfs build
Greg Farnum [Mon, 10 Oct 2011 17:55:52 +0000 (10:55 -0700)]
.gitignore: test_libhadoopcephfs build

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoMerge branch 'master' of github.com:NewDreamNetwork/ceph
Greg Farnum [Mon, 10 Oct 2011 17:55:10 +0000 (10:55 -0700)]
Merge branch 'master' of github.com:NewDreamNetwork/ceph

13 years agolibrbd: fix overflow on large large image copy
Sage Weil [Mon, 10 Oct 2011 18:04:30 +0000 (11:04 -0700)]
librbd: fix overflow on large large image copy

Fixes: #1611
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agolibrbd: slightly cleaner
Sage Weil [Mon, 10 Oct 2011 18:03:26 +0000 (11:03 -0700)]
librbd: slightly cleaner

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agolibrbd: fix copy progress
Sage Weil [Mon, 10 Oct 2011 16:50:33 +0000 (09:50 -0700)]
librbd: fix copy progress

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agohadoop: get the right class member, and ask for it properly.
Greg Farnum [Sun, 9 Oct 2011 23:28:00 +0000 (16:28 -0700)]
hadoop: get the right class member, and ask for it properly.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoauth: move AuthAuthorizeHandler registry into class
Sage Weil [Fri, 7 Oct 2011 23:45:22 +0000 (16:45 -0700)]
auth: move AuthAuthorizeHandler registry into class

Static classes with constructors and destructors are dangerous.  Explicitly
manage these as part of the server components (OSD, MDS).

Fixes: #1608
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoOSD,ReplicatedPG: expire and cleanup unconnected watchers
Samuel Just [Mon, 3 Oct 2011 20:29:47 +0000 (13:29 -0700)]
OSD,ReplicatedPG: expire and cleanup unconnected watchers

During handle_notify_timeout or ms_handle_reset, watchers are now marked
unconnected via pg->register_unconnected_watcher. A safe timer event has
been added to trigger OSD::handle_watch_timeout.
remove_watchers_and_notifies (called on role change) cleans up these
events before peering.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agomove ceph_mount call
Greg Farnum [Fri, 7 Oct 2011 21:36:47 +0000 (14:36 -0700)]
move ceph_mount call

13 years agoosd: discard requests that from disconnected clients
Sage Weil [Fri, 7 Oct 2011 21:28:57 +0000 (14:28 -0700)]
osd: discard requests that from disconnected clients

If we can't reply, throw out the request; they'll need to resend it anyway.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph.spec.in: handle docdir properly
Sage Weil [Fri, 7 Oct 2011 21:09:42 +0000 (14:09 -0700)]
ceph.spec.in: handle docdir properly

Pass correct path to configure (fixes SuSE builds).

Use %doc command to install sample.ceph.conf and sample.fetch_conf.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoclitests: add test case for crush exhaustive search
Josh Durgin [Fri, 7 Oct 2011 21:08:30 +0000 (14:08 -0700)]
clitests: add test case for crush exhaustive search

This detects the bug that caused #1594.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoMakefile: only reset docdir if it's not already defined
Sage Weil [Fri, 7 Oct 2011 20:13:29 +0000 (13:13 -0700)]
Makefile: only reset docdir if it's not already defined

This is only for old versions of automake, and won't work for ancient
SuSe.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agocrushtool: fix --weight arg parsing
Sage Weil [Fri, 7 Oct 2011 20:03:00 +0000 (13:03 -0700)]
crushtool: fix --weight arg parsing

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agocrushtool: add --force N
Sage Weil [Fri, 7 Oct 2011 20:02:49 +0000 (13:02 -0700)]
crushtool: add --force N

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agocrush: try _all_ bucket items when doing exhaustive search
Sage Weil [Fri, 7 Oct 2011 19:54:59 +0000 (12:54 -0700)]
crush: try _all_ bucket items when doing exhaustive search

N-1 isn't exhaustive.

Fixes: #1594
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph.spec.in: build on suse
Sage Weil [Fri, 7 Oct 2011 18:10:46 +0000 (11:10 -0700)]
ceph.spec.in: build on suse

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: tolerate 50ms (instead of 10ms) of clock drift
Sage Weil [Fri, 7 Oct 2011 16:53:45 +0000 (09:53 -0700)]
mon: tolerate 50ms (instead of 10ms) of clock drift

NTP on sepia can't manage 10ms, it seems.  Sigh.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: fix printf format warning
Sage Weil [Fri, 7 Oct 2011 16:32:34 +0000 (09:32 -0700)]
rgw: fix printf format warning

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: make log object naming configurable
Sage Weil [Fri, 7 Oct 2011 00:39:40 +0000 (17:39 -0700)]
rgw: make log object naming configurable

Use date(1) codes for object name, plus %i and %n for bucket id/name, and
make UTC vs localtime configurable.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: make other send_incremental variant handle map discontinuity
Sage Weil [Thu, 6 Oct 2011 23:10:10 +0000 (16:10 -0700)]
mon: make other send_incremental variant handle map discontinuity

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoauth: fix authorizer leak fix
Sage Weil [Thu, 6 Oct 2011 23:04:12 +0000 (16:04 -0700)]
auth: fix authorizer leak fix

We were never reusing the authorizer, so make it local.  This fixes a crash
(double-free) on reset().

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomon: fix osdmap trimming unsigned overflow
Sage Weil [Thu, 6 Oct 2011 23:00:34 +0000 (16:00 -0700)]
mon: fix osdmap trimming unsigned overflow

This was trimming way to aggressively for early epochs due to the unsigned
version overflowing.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoobjecter: cope with missing osdmaps in history
Sage Weil [Thu, 6 Oct 2011 22:54:48 +0000 (15:54 -0700)]
objecter: cope with missing osdmaps in history

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd, pg: ignore responses to obsolete queries
Josh Durgin [Thu, 6 Oct 2011 00:07:07 +0000 (17:07 -0700)]
osd, pg: ignore responses to obsolete queries

This adds a query_epoch to notify and log messages, which are
sent in response to queries from the primary during peering. To
guarantee we don't try to process old logs and notifies after
restarting peering, query_epoch is set to the epoch at which the
query was sent. If query_epoch is less than last_peering_reset,
the primary discards the message.

This caused a "bad state machine event" crash in the following
scenario:

1. Primary tells a stray to generate a backlog at epoch 199.
2. The up set changes because a stray goes up.
3. Primary restarts peering at epoch 200.
4. Stray gets new map for epoch 200, sees that acting set did not
change, and sends log to primary.
5. Primary crashes.

Related to #1403, #1449
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agopg: rename warm_restart and last_warm_restart
Josh Durgin [Thu, 6 Oct 2011 18:52:42 +0000 (11:52 -0700)]
pg: rename warm_restart and last_warm_restart

These names make more sense, since last_warm_restart was updated
outside of the warm_restart function.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years ago.gitignore: add multi_stress_watch
Samuel Just [Thu, 6 Oct 2011 22:59:47 +0000 (15:59 -0700)]
.gitignore: add multi_stress_watch

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoReplicatedPG: assert *_FLUSHING unreachable for AccessMode
Samuel Just [Thu, 6 Oct 2011 21:45:09 +0000 (14:45 -0700)]
ReplicatedPG: assert *_FLUSHING unreachable for AccessMode

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agotest/multi_stress_watch.cc: add watch notify tester for teuthology
Samuel Just [Thu, 6 Oct 2011 21:38:24 +0000 (14:38 -0700)]
test/multi_stress_watch.cc: add watch notify tester for teuthology

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoqa: rados-api: try harder to make these pool names unique
Sage Weil [Thu, 6 Oct 2011 20:56:58 +0000 (13:56 -0700)]
qa: rados-api: try harder to make these pool names unique

Still getting -17 sometimes on sepia... :/

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoxlist: more assertive
Sage Weil [Thu, 6 Oct 2011 20:39:33 +0000 (13:39 -0700)]
xlist: more assertive

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoRevert "osd: simplify the session ref-counting branches"
Sage Weil [Thu, 6 Oct 2011 20:12:16 +0000 (13:12 -0700)]
Revert "osd: simplify the session ref-counting branches"

This reverts commit f002144ef7d314e80d3d19a5cd2c4cef38851056.

13 years agoosd: boot with map of oldest-1
Sage Weil [Thu, 6 Oct 2011 19:58:23 +0000 (12:58 -0700)]
osd: boot with map of oldest-1

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoradosgw-admin: UTC for time in 'log show', local time in separate field
Sage Weil [Thu, 6 Oct 2011 18:41:53 +0000 (11:41 -0700)]
radosgw-admin: UTC for time in 'log show', local time in separate field

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoutime: add gmtime() output function
Sage Weil [Thu, 6 Oct 2011 18:41:27 +0000 (11:41 -0700)]
utime: add gmtime() output function

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoradosgw-admin: for date filtering for 'log list'
Sage Weil [Thu, 6 Oct 2011 18:01:37 +0000 (11:01 -0700)]
radosgw-admin: for date filtering for 'log list'

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'wip-leaks'
Greg Farnum [Thu, 6 Oct 2011 17:30:45 +0000 (10:30 -0700)]
Merge branch 'wip-leaks'

13 years agocephx: don't leak Authorizers on each request
Greg Farnum [Thu, 6 Oct 2011 16:58:48 +0000 (09:58 -0700)]
cephx: don't leak Authorizers on each request

It's not clear to me why this is a class member -- it's only
written to or read from in this function, which allocates a fresh
one each time it's called.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoosd: put session ref in ms_handle_reset
Greg Farnum [Mon, 19 Sep 2011 22:51:15 +0000 (15:51 -0700)]
osd: put session ref in ms_handle_reset

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>