Commit Graph

14129 Commits

Author SHA1 Message Date
Colin Patrick McCabe
54284c0aef common: add environment.cc/environment.h
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-19 10:28:16 -07:00
Sage Weil
d55399ffec mds: remove MDSlaveUpdate from list on deletion
These are added to the LogSegment list on the slaves, but also need to be
removed from that list when we replay a COMMIT|ROLLBACK or when the op's
fate is determined during the resolve stage.

This fixes a crash like

./include/elist.h: In function 'elist<T>::item::~item() [with T =
MDSlaveUpdate*]', in thread '0x7fb2004d5700'
./include/elist.h: 39: FAILED assert(!is_on_list())
 ceph version 0.26 (commit:9981ff90968398da43c63106694d661f5e3d07d5)
 1: (MDSlaveUpdate::~MDSlaveUpdate()+0x59) [0x4d9fe9]
 2: (ESlaveUpdate::replay(MDS*)+0x422) [0x4d2772]
 3: (MDLog::_replay_thread()+0xb90) [0x67f850]
 4: (MDLog::ReplayThread::entry()+0xd) [0x4b89ed]
 5: (()+0x7971) [0x7fb20564a971]
 6: (clone()+0x6d) [0x7fb2042e692d]
 ceph version 0.26 (commit:9981ff90968398da43c63106694d661f5e3d07d5)
 1: (MDSlaveUpdate::~MDSlaveUpdate()+0x59) [0x4d9fe9]
 2: (ESlaveUpdate::replay(MDS*)+0x422) [0x4d2772]
 3: (MDLog::_replay_thread()+0xb90) [0x67f850]
 4: (MDLog::ReplayThread::entry()+0xd) [0x4b89ed]
 5: (()+0x7971) [0x7fb20564a971]

Fixes: #1019
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-19 09:25:30 -07:00
Colin Patrick McCabe
87def518dd common_init: move version printout to common_init
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 17:54:29 -07:00
Colin Patrick McCabe
ae0f5f03a6 interval_set: slightly better API for erase
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 17:32:16 -07:00
Colin Patrick McCabe
faffcc561a Change some global config options to env vars
Options that are inherently global, like malloc settings, and also
inherently debugging or profiling settings should be environment
variables.

tcmalloc_profiler_run, profiler_allocation_interval,
profiler_highwater_interval, and buffer_track_alloc fall into this
category.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 16:26:41 -07:00
Sage Weil
e4e2b742fe Merge commit '8038c491ba90a8cbcd569e84d4cafc8bbdff81d5' into next 2011-04-18 16:26:06 -07:00
Sage Weil
c93c6619ff Merge remote branch 'origin/stable' into next 2011-04-18 16:23:03 -07:00
Sage Weil
2e41f084d4 journaler: fix do_flush adjustment
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:32:43 -07:00
Sage Weil
bb4cfabc45 osd: assert on query on deleting pg
This shouldn't happen; assert if it does.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:30:50 -07:00
Sage Weil
67721b005e osd: do not create pgs on query
We do not need to create the pg on query.  If we are a new replica we can
create it when we get the PGLog activate message.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:29:07 -07:00
Sage Weil
b05f1ba4c4 journaler: truncate/zero ahead of write position
Remove/zero objects N periods ahead of the journal write position.  This
ensures that when we reprobe the journal length, we will always detect the
end position as the correct write_pos, even when there is weird data
"ahead" of us that we may bump up against.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:06:58 -07:00
Sage Weil
974d859e83 filer: remove whole objects on zero()
Make filer::zero() remove any whole objects.  This is required by the
Journaler, given the way it probes the journal length.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:06:56 -07:00
Sage Weil
0f0c1c853e interval_set: implement erase(iterator)
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 15:06:53 -07:00
Sage Weil
eaf5241363 Merge branch 'next' 2011-04-18 15:06:47 -07:00
Greg Farnum
e6393525cf journaler: check return code on _finish_write_head.
If we get an error code and assume we successfully wrote the head,
there are going to be all kinds of issues on replay!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 14:34:14 -07:00
Sage Weil
68863bb453 osd: make ZERO on non-existent object a no-op
Fixes bug where oi.size gets out of sync with the object size because we
actually write zeros.  (This explains #933.)

Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-18 13:55:16 -07:00
Colin Patrick McCabe
42a7013907 dout: remove references to g_conf
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 13:12:52 -07:00
Colin Patrick McCabe
ab9dc12231 vstart tests: specify ceph.conf
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 13:12:52 -07:00
Yehuda Sadeh
878f4a45ce rgw: return appropriate error for unresolvable email in acl 2011-04-18 12:54:31 -07:00
Colin Patrick McCabe
b8e791bc61 config: reorder config_option struct members
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 11:53:30 -07:00
Colin Patrick McCabe
8038c491ba clitests: fix radosgw_admin test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 11:44:37 -07:00
Colin Patrick McCabe
756a2acc78 config: remove unused OPT_NONE type
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 11:44:37 -07:00
Colin Patrick McCabe
3f275bcf3c clitests: eliminate use of old-style section name
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-18 11:44:37 -07:00
Greg Farnum
6058a36c4e MDS: move slave rename xlock handling before finish_export_inode.
finish_export_inode changes states! That's not good for our checks,
so just handle unpinning and stuff before we finish_export_inode.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:41:29 -07:00
Greg Farnum
14dd299489 improve debug printing 2011-04-18 10:41:08 -07:00
Greg Farnum
d857983301 mds: Unify migration-handling code in _commit_slave_rename.
We need to handle locks and pins on exported inodes but we
were using a separate if block with its own (non-matching!) check
for no good reason.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:41:02 -07:00
Greg Farnum
6bd20815e2 mds: _commit_slave_rename needs to drop auth_pins for exported xlocks.
Otherwise these pins are never dropped from the inode since we
don't go through our normal xlock teardown code. Now we do!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:40:43 -07:00
Greg Farnum
1a6f43763f MDS: Make _rename_apply inode import auth_pinning more intelligent.
We don't want auth_pins on the locallocks (they're never auth_pinned)
and we only want new auth_pins that are for locks on the inode that we
imported -- not for each xlock that the mdr has everywhere (like,
say, on the srcdn)!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:40:21 -07:00
Greg Farnum
478c617311 mds: If we're a slave, clean up xlocks when we export an inode.
Because we can do an inode import during a rename that skips the usual
channels, we were getting into an odd state with the xlocks (which we
did as a slave for an inode that we exported away). Clean up the
record of these xlocks for inodes before we get into the request
cleanup (at which point we are labeled as no-longer-auth, and the
standard cleanup routines will break).

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:40:10 -07:00
Greg Farnum
5299aabe1c mds: properly drop imported xlocks.
Because we can do an inode import during a rename that skips the usual
channels, we were getting into an odd state with the xlocks (which
were formerly remote and are now local). Clean up the record of
those remote xlocks.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:40:04 -07:00
Greg Farnum
97e357c430 MDS: Server takes auth_pins for xlocks on imported inodes.
Should fix #934.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-18 10:36:22 -07:00
Sage Weil
216fd77610 objecter: resub ops on full->nonfull transition
This was broken a while ago during the last refactor.  Whoops!  Clean it
up to be smarter (and work at all).

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-18 10:15:07 -07:00
Sage Weil
c966410fab osd: show "full" or "nearfull" in osdmap summary line
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-18 09:57:55 -07:00
Sage Weil
879adb6190 Merge remote branch 'origin/stable'
Conflicts:
	src/osdc/Journaler.cc
2011-04-18 09:58:15 -07:00
Yehuda Sadeh
fa7061d2da Merge branch 'rgw_uid' 2011-04-18 09:56:08 -07:00
Yehuda Sadeh
796528c3db rgw: remove get_user_info() and clean up
rename all the get_uid_by_* to get_user_info_by_*, remove get_user_info()
and call the appropriate function instead (either the by_uid or by_access_key).
2011-04-18 08:56:52 -07:00
Yehuda Sadeh
d8fe208d06 rgw: store user info on all indexes in the same format
this breaks backward compatibility, we'll have to deal with that
later.
2011-04-18 08:32:09 -07:00
Yehuda Sadeh
11f1e2ef52 rgw_admin: can lookup user by access key 2011-04-18 08:15:11 -07:00
Sage Weil
d778921888 mount.ceph: behave when CONFIG_KEYS is not compiled in
In that case we get ENOSYS.  This also implies an old version of the client
and that we should fall back.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-17 21:58:27 -07:00
Wido den Hollander
d21bdd6e29 radosgw_admin: Update manpage to new syntax
Signed-off-by: Wido den Hollander <wido@widodh.nl>
Signed-off-by: Colin McCabe <cmccabe@alumni.cmu.edu>
2011-04-17 17:42:04 -07:00
Greg Farnum
1eccc019ed MDS: Fix Locker::handle_reqrdlock for xlocked locks.
We previously dropped the request but that was inappropriate for that
one case because the replica has no way to trigger a resend.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:04:52 -07:00
Sage Weil
79cac5ee3a mds: Always _open_parents when opening a new snaprealm
Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-04-16 21:03:48 -07:00
Greg Farnum
a028c8954c mds: don't run all of try_subtree_merge on a rename across MDSes.
Previously we'd try and do the whole thing, which meant that
the replica got a lock twiddle before it had finished the export.
That broke things spectacularly, since we weren't respecting our
invariants about who gets remote locking messages.
Now we pass through a flag and respect our invariants.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:03:37 -07:00
Greg Farnum
6250e82c00 mds: adjust LocalLock can_xlock_local().
I don't remember why we needed can_xlock_local() to begin with, but
I can tell that adding this get_xlock_by() check won't stop anything
working that was ever working to begin with (really it's still not
strong enough a check).

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:02:56 -07:00
Greg Farnum
5a65a04a9c mds: Extend use of find_ino_peers.
Missed a few places that need it.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:02:48 -07:00
Greg Farnum
bea966af2f mds: Make use of find_ino_peers
Previously we just had to give up on ESTALE. Now
we can attempt to recover!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:02:45 -07:00
Greg Farnum
22e8519d03 random commenting 2011-04-16 21:01:46 -07:00
Greg Farnum
ace54db0c0 MDS: Remove inappropriate assert from _logged_slave_rename.
The slave also can hold some auth pins from locks which the
master has asked it to grab. It's possible we can intelligently
determine how many, but for now just drop the assert.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:01:38 -07:00
Greg Farnum
ac045dc3ec MDS: Server::handle_slave_rename_prep now accounts for dir snaplock.
Previously it ignored the auth pin required to hold snap xlock, which
is currently always held for a rename on a dir. This would lead to
a permanent hang on the request. Now we account for it!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:01:15 -07:00
Greg Farnum
597e30edeb MDS: Don't move inode to snaprealms if not primary inode.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-16 21:00:05 -07:00