Commit Graph

14638 Commits

Author SHA1 Message Date
Samuel Just
bcbcf30237 ReplicatedPG: wait_for_missing_object in _rollback_to
Previously, we failed if the relevant clone had not yet been recovered.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-19 12:24:36 -07:00
Colin Patrick McCabe
4043059515 testrados: retab with C-style tabs
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-19 11:49:50 -07:00
Colin Patrick McCabe
6a580bf2c8 testrados: more getxattr / setxattr tests
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-19 11:48:21 -07:00
Colin Patrick McCabe
1dd1743189 Remove libcrush from packaging
This removes libcrush from the packaging system, now that it's been
merged into libcommon.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-19 11:33:17 -07:00
Sage Weil
f16903d724 client: do not retake lock in sync_write_commit
We already hold the lock from a few frames up the stack (ms_dispatch).

Reported-by: Simon Tian <aixt2006@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-19 10:14:29 -07:00
Colin Patrick McCabe
ce7f78d093 ceph.spec.in: fix obsync description
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-19 10:13:20 -07:00
Sage Weil
4d39f1be6f journaler: ENOENT is okay on trim
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-19 09:41:24 -07:00
Sage Weil
ecb7c96167 mkcephfs: pick rdir based on whether current daemon is local or not
We need to pick $rdir as local or remote inside the for name loop.

Fixes: #1094
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-19 09:29:11 -07:00
Josh Durgin
2a0f0cd179 PG: remove unused argument to adjust_need_up_thru
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-05-18 17:04:17 -07:00
Josh Durgin
2452d41503 PG: include ourselves in the prior set
All acting OSDs should be in the prior set, since any of them may have
the newest update.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-05-18 17:04:17 -07:00
Josh Durgin
cad3dfaeaf PG: choose acting set and newest_update_osd based on a map of all osds
newest_update osd should be stable when the primary changes, to
prevent cycles of acting set choices. For the same reason, we should
not treat the primary as a special case in choose_acting.

Also remove the magic -1 from representing the current primary.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-05-18 17:04:17 -07:00
Josh Durgin
524ab3a6f8 PG: GetLog: don't fail if we get an outdated log
If we request a log from one osd, and then another member of our prior
set comes up with a later last_update, we should not fail when we
receive the first log.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-05-18 17:04:17 -07:00
Samuel Just
92706af3cf PG: reset pg_trim_to in clear_primary_state
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-18 17:04:17 -07:00
Samuel Just
51daa43590 PG: choose_acting: we need best_info to have a backlog, not the primary
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-18 17:04:17 -07:00
Samuel Just
dbb2c38380 PG: _remove_pg, reset info.last_update and info.log_tail on log zero
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-18 17:04:17 -07:00
Samuel Just
0aeb8efbb8 PG: merge_log- fix extend log case
Previously, when extending an empty log with a log with the same
last_update, we would fail an assert since we would reach the end of the
new log.
2011-05-18 17:04:17 -07:00
Samuel Just
9b9797978c PG: prefer log with longer tail
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-18 17:04:17 -07:00
Sage Weil
8c6ce348d8 osd: clean up choose_acting output
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-18 17:04:17 -07:00
Samuel Just
5d161aa0a9 PG: make choose_acting a bit smarter
This change allows old strays that don't need backlogs
to stay acting until current members of the up set are caught up.
This allows the up set to maintain its full size during peering.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-18 17:04:17 -07:00
Colin Patrick McCabe
d0752e8138 Merge branch 'move_crush_to_libcommon' 2011-05-18 15:37:33 -07:00
Colin Patrick McCabe
14a3f262f5 Move crush into libcommon
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-18 15:37:22 -07:00
Colin Patrick McCabe
2fc13de161 Move crush into libcommon
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-18 11:48:54 -07:00
Sage Weil
d4588bae5b Merge branch 'stable' 2011-05-18 12:18:55 -07:00
Sage Weil
0d79f1dedc man: update cosd man page
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-18 11:45:46 -07:00
Sage Weil
071881d7e5 v0.28 2011-05-18 10:17:49 -07:00
Sage Weil
b060f5c892 Revert "Makefile.am: link some utils with libcrush"
This reverts commit c26649861e.

I'm not having any problems linking.  I suspect this was some automake
failure and that a 'make clean' is all that's needed to put everything
straight...

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-18 10:15:31 -07:00
Sage Weil
f1c82aaef0 logclient: get rid of send_log; simplify monitor special casing
Change the SYNC flag to MON and send the Mlog synchronously in the do_log
call.  This eliminates teh send_log vestigates completely.  Either we are
a monitor and queue for ourselves immediately, or log sending is handled
by MonClient.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-18 10:09:34 -07:00
Sage Weil
baba0a7ab3 msgr: fix signedness in alloc_aligned_buffer
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-18 10:07:02 -07:00
Sage Weil
bd1995c2d1 logclient: log synchronously to syslog
This is simpler.  And there is no reason to delay logging to syslog.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-18 10:01:12 -07:00
Sage Weil
4237da886e logclient: send entries once per mon session
We have a lossless session with the monitor!  Only send log entries once.
Otherwise, if the mon is down or something, we end up building up a HUGE
backlog of requests by resending the same messages over and over again.

To do this:
 - keep track of which entire we've sent.
 - reset when the session resets
 - let the MonClient control when log entries are sent, and reset

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-18 09:58:46 -07:00
Sage Weil
38ba4762da crush: fix clitest now that leading spaces are stripped
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-18 09:27:02 -07:00
Yehuda Sadeh
883a980a3c Makefile: don't clean up some files 2011-05-18 09:22:19 -07:00
Yehuda Sadeh
c26649861e Makefile.am: link some utils with libcrush 2011-05-18 05:25:46 -07:00
Yehuda Sadeh
e3841dc65e Makefile: don't clean up some files 2011-05-18 04:53:41 -07:00
Sage Weil
2b729875ed Merge remote branch 'origin/stable' into next 2011-05-17 22:04:44 -07:00
Sage Weil
09810cb29b page: fix #ifdef guard
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-17 22:00:19 -07:00
Sage Weil
2f9ff02258 page: redefine PAGE_* macros
Saw this on sid i386:

msg/SimpleMessenger.cc: In function 'void alloc_aligned_buffer(ceph::bufferlist&
, int, int)':
msg/SimpleMessenger.cc:1782:14: error: '__sysconf' was not declared in this scop
e
msg/SimpleMessenger.cc:1789:23: error: '__sysconf' was not declared in this scop

Some header is clobbering out PAGE_* macros.  Make our header more
forceful.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-17 22:00:19 -07:00
Sage Weil
ee7fa813ef mds: do not shift to EXCL or MIX while rdlocked
There was an old change in file_eval() that was allowing us to switch from
SYNC to MIX or EXCL while there were rdlocks, which either caused lots of
lock thrashing or could (I think) hang things up completely.  This was
from ea10a672, an ancient fix for something related that appears to have
taken out the rdlocked check by accident.

In my tests (one writer, one stat-er), this took things from long stalls
(up to 20 seconds) to very responsive stats.  Yay!

Fixes: #791
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 21:29:57 -07:00
Sage Weil
9be719387f vstart: simplify mds keyring add
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 21:08:32 -07:00
Sage Weil
812ce6e96d Merge branch 'next' 2011-05-17 21:08:00 -07:00
Sage Weil
bfca7ac58b osd: add --mkkey mkfs option
Optionally generate a new key as part of the mkfs step.  This makes life
a bit easier for the admin.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 18:49:39 -07:00
Sage Weil
8ad346a3a9 mon: 'auth caps <name> [svc value [svc2 value2 [...]]]'
Avoid having to futz with cauthtool if possible.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 18:49:39 -07:00
Josh Durgin
660e6d529f Merge remote branch 'origin/next' 2011-05-17 17:45:45 -07:00
Josh Durgin
a22511db22 PG: update same_acting_since when acting or up changes
This is a hack since we currently use same_up_since to denote the beginning of an interval.
We should probably change this usaged or rename it to same_interval since.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-05-17 17:30:02 -07:00
Sage Weil
50be4c464b crush: allow - and _ in crushmap type/item names
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 17:27:56 -07:00
Sage Weil
45494b4d0a crushtool: strip leading spaces from identifiers
No idea where these are coming from!  Weird.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-05-17 17:27:56 -07:00
Sage Weil
73b99163ab msgr: avoid clearing connection_state on pipe replacement
read_message and write_message both dereference connection-state, so avoid
clearing it when replacing a pipe.

read_message still uses it to find rx_buffers in ways that may interfere
when two Pipes reference the connection, but currently that is only used
for lossy pipes.  We could still take pipe_lock in that case, but it is
only an optimization (we copy the data if the buffers don't get used
directly) and probably not worth bothering with.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-17 17:27:56 -07:00
Sage Weil
ec63ec3e53 mon: 'osd tree [epoch]'
Dump crush map + osd state, displayed as a tree.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-17 17:05:55 -07:00
Sage Weil
108b2a69c1 osdmaptool: print crush tree + osd state
Output osd state combined with crush tree placement.  Note osds in tree
that do not exist and list osds that exist that are not included in the
tree.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-17 17:05:54 -07:00
Colin Patrick McCabe
0e3f09238b librgw: be quiet by default
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-17 16:29:46 -07:00