]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Tue, 23 Mar 2010 18:46:49 +0000 (11:46 -0700)]
mds: check myin, not stray, in rejoin_send_acks
Sage Weil [Tue, 23 Mar 2010 23:47:59 +0000 (16:47 -0700)]
todo mds bug
Sage Weil [Tue, 23 Mar 2010 21:54:13 +0000 (14:54 -0700)]
mds: fix up client session importing
Keep import counter for each session, for overlapping imports.
Prevent a session close or kill during an import.
Sage Weil [Tue, 23 Mar 2010 20:39:38 +0000 (13:39 -0700)]
mds: importing, ugh
Sage Weil [Tue, 23 Mar 2010 20:32:58 +0000 (13:32 -0700)]
mds: clean up kill_session()
Sage Weil [Tue, 23 Mar 2010 20:20:12 +0000 (13:20 -0700)]
mds: possible session 'importing' state
Sage Weil [Tue, 23 Mar 2010 20:15:58 +0000 (13:15 -0700)]
mds: drop purge step when closing client sessions
The purge step when closing client sessions is pointless. If the
MDS is alive, we know which inos were used and which weren't. It
is only the _journal_ that doesn't necessarily know which have
been recently allocated: any cleanup needs to happen on journal
replay during mds recovery.
Also clean up session states some more.
Sage Weil [Tue, 23 Mar 2010 17:26:54 +0000 (10:26 -0700)]
mds: combine new, closed states; few small fixes
Still need to audit all state changes.
Martin Ettl [Mon, 22 Mar 2010 20:50:30 +0000 (13:50 -0700)]
mds: style fixes (from cppcheck)
Sage Weil [Mon, 22 Mar 2010 20:44:44 +0000 (13:44 -0700)]
osd: warn on no osd journal
Sage Weil [Mon, 22 Mar 2010 20:39:40 +0000 (13:39 -0700)]
mds: don't kick clients if we've been laggy ourselves
Sage Weil [Mon, 22 Mar 2010 19:08:25 +0000 (12:08 -0700)]
mds: no early complete from scatter_nudge after partial work
Do not complete the Context if we only accomplish partial work.
Instead, keep going until we block.
Sage Weil [Thu, 18 Mar 2010 23:02:37 +0000 (16:02 -0700)]
todo fixed some bugs
Sage Weil [Mon, 22 Mar 2010 17:18:04 +0000 (10:18 -0700)]
msgr: no more forward_message()
Sage Weil [Mon, 22 Mar 2010 16:14:36 +0000 (09:14 -0700)]
mds: re-send, do not forward, mds messages
Sage Weil [Mon, 22 Mar 2010 16:12:10 +0000 (09:12 -0700)]
mds: encode source mds in MDirUpdate
Not that it's actually used, but just in case.
Sage Weil [Mon, 22 Mar 2010 16:09:21 +0000 (09:09 -0700)]
mds: encode source mds in MExportDirDiscover explicitly
This removes any dependency on the message 'source', which will
let us remove the forward hackery.
Sage Weil [Mon, 22 Mar 2010 16:15:25 +0000 (09:15 -0700)]
mds: rev mds internal protocol
We're changing the way cluster-internal messages are forward
Greg Farnum [Mon, 22 Mar 2010 18:04:33 +0000 (11:04 -0700)]
mon: Fix resend_routed_requests.
Stuff was left over from when forwards came in as a standard
PaxosServiceMessage, which is now removed.
Greg Farnum [Mon, 22 Mar 2010 17:23:45 +0000 (10:23 -0700)]
mon: another forwarding fix for resend_routed_requests
Greg Farnum [Mon, 22 Mar 2010 17:15:21 +0000 (10:15 -0700)]
mon: Forwarding fixes.
forward_request_leader now uses messenger->send_message because it's created
a new message to forward.
resend_routed_requests properly decodes forwards to an MForward* rather than
a PaxosServiceMessage*.
Greg Farnum [Fri, 19 Mar 2010 23:30:01 +0000 (16:30 -0700)]
msg: Remove dead code MSG_OSD_IN/OUT
Greg Farnum [Thu, 18 Mar 2010 21:39:21 +0000 (14:39 -0700)]
mon: x has little meaning for a mon, let's not confuse things for pool ops
Greg Farnum [Thu, 18 Mar 2010 21:26:08 +0000 (14:26 -0700)]
mon: use our standard indicator for locked/unlocked in ms_dispatch:
ms_dispatch locks and calls _ms_dispatch.
Greg Farnum [Thu, 18 Mar 2010 21:15:47 +0000 (14:15 -0700)]
objecter: don't lose reply codes when we wait_for_new_map
Greg Farnum [Thu, 18 Mar 2010 18:47:00 +0000 (11:47 -0700)]
rados: add undocumented option to specify auid when making pools
Greg Farnum [Thu, 18 Mar 2010 18:46:37 +0000 (11:46 -0700)]
mon: msg: Better output/debugging
Greg Farnum [Thu, 18 Mar 2010 17:50:59 +0000 (10:50 -0700)]
objecter: always fill in auid
Greg Farnum [Thu, 18 Mar 2010 17:50:30 +0000 (10:50 -0700)]
msg: MPoolOp now encodes its auid, prints more.
Greg Farnum [Thu, 18 Mar 2010 16:07:06 +0000 (09:07 -0700)]
mon: handle_subscribe now uses check_privileges instead of get_caps.
Greg Farnum [Wed, 17 Mar 2010 22:42:13 +0000 (15:42 -0700)]
mon: Pretty sure MDS BEACON messages should only come from MDSes
Yehuda Sadeh [Thu, 18 Mar 2010 21:35:24 +0000 (14:35 -0700)]
osdc: fix truncation of multiple extents of the same object
Sage Weil [Thu, 18 Mar 2010 20:38:00 +0000 (13:38 -0700)]
mds: fix resolve stage
This was recently broken by
b818f5bc .
Sage Weil [Thu, 18 Mar 2010 04:47:00 +0000 (21:47 -0700)]
mds: drop gather if it's empty
This can happen from scatter_nudge, which may add a sub and then
complete it, emptying out the C_Gather.
Sage Weil [Thu, 18 Mar 2010 04:46:00 +0000 (21:46 -0700)]
context: don't complete C_Gather until finisher is set
We often create a C_Gather, add a bunch of subs, and set a
finisher at the end. Occasionally we create a sub and it gets
finished immediately, in which case we don't want the gather to
get finished and deleted already. So don't 'complete' the gather
until it's by activated by setting the finisher.
Sage Weil [Wed, 17 Mar 2010 16:46:02 +0000 (09:46 -0700)]
init-ceph: do already running check early to avoid extra work
Sage Weil [Thu, 18 Mar 2010 17:20:34 +0000 (10:20 -0700)]
todo
Sage Weil [Thu, 18 Mar 2010 17:20:10 +0000 (10:20 -0700)]
mds: session is always defined in handle_client_reconnect
Sage Weil [Thu, 18 Mar 2010 00:01:19 +0000 (17:01 -0700)]
qa: make pjd test behave when run twice in same dir
Sage Weil [Wed, 17 Mar 2010 23:17:59 +0000 (16:17 -0700)]
mds: acknowledge reconnect success with a session open message
Sage Weil [Wed, 17 Mar 2010 18:49:16 +0000 (11:49 -0700)]
qa: add fsx workunit
Greg Farnum [Wed, 17 Mar 2010 21:52:50 +0000 (14:52 -0700)]
mon: msg: better output
Greg Farnum [Wed, 17 Mar 2010 18:57:18 +0000 (11:57 -0700)]
mon: don't use get_priv() without put!
Greg Farnum [Wed, 17 Mar 2010 17:57:24 +0000 (10:57 -0700)]
mon: forwarded messages should use the same connection as their carrier message
Greg Farnum [Wed, 17 Mar 2010 17:56:42 +0000 (10:56 -0700)]
mon: when possible, fill PaxosServiceMap::caps before exiting ms_dispatch
Greg Farnum [Wed, 17 Mar 2010 16:08:21 +0000 (09:08 -0700)]
mon: let ms_dispatch be non-locking for forwards
Greg Farnum [Tue, 16 Mar 2010 21:48:31 +0000 (14:48 -0700)]
mon: Encapsulate forwarded PaxosServiceMessages into MForward with their caps
Greg Farnum [Wed, 17 Mar 2010 16:03:45 +0000 (09:03 -0700)]
mon: Use PaxosServiceMessage::caps instead of Session::caps where applicable
Greg Farnum [Tue, 16 Mar 2010 19:53:44 +0000 (12:53 -0700)]
msg: Add a new MForward message for encapsulating client caps and messages
Sage Weil [Wed, 17 Mar 2010 18:13:53 +0000 (11:13 -0700)]
qa: add loopall.sh
Sage Weil [Wed, 17 Mar 2010 18:08:21 +0000 (11:08 -0700)]
mds: fix up root/base inode special cases
Sage Weil [Wed, 17 Mar 2010 17:45:03 +0000 (10:45 -0700)]
todo: more kclient bugs
Sage Weil [Tue, 16 Mar 2010 22:48:35 +0000 (15:48 -0700)]
qa: runallonce.sh each workunit in a clean directory
Sage Weil [Tue, 16 Mar 2010 17:53:45 +0000 (10:53 -0700)]
filestore: fix CLONE_RANGE detection
Sage Weil [Tue, 16 Mar 2010 21:36:04 +0000 (14:36 -0700)]
todo kclient osd_client bug
Sage Weil [Tue, 16 Mar 2010 21:28:05 +0000 (14:28 -0700)]
mds: fix SimpleLock::try_clear_more()
We were dropping gather state on the floor, which resulted in
general confusion and errors like this
10.03.16 14:17:17.622280 mds0.locker handle_simple_lock lock(a=lockack dn
1000000019c /NEWS1_1B.PRN snap head) on (dn xlock x=1 by 0x307c050) [dentry #1/clients/client2/~dmtmp/WORDPRO/NEWS1_1B.PRN [2,head] auth{1=1} (dn xlock x=1 by 0x307c050) v=90 inode=0x7f2fe90a7980 | nref=5 0x7f2fe0349b80]
mds/Locker.cc: In function 'void Locker::handle_simple_lock(SimpleLock*, MLock*)':
mds/Locker.cc:2424: FAILED assert(lock->get_state() == 7 || lock->get_state() == 12)
1: (Locker::handle_simple_lock(SimpleLock*, MLock*)+0x374) [0x8607bc]
2: (Locker::handle_lock(MLock*)+0x18b) [0x861b91]
3: (Locker::dispatch(Message*)+0x41) [0x86470b]
4: (MDS::_dispatch(Message*)+0x1b42) [0x72ce68]
5: (MDS::ms_dispatch(Message*)+0x2f) [0x72e1e9]
6: (Messenger::ms_deliver_dispatch(Message*)+0x55) [0x72086b]
7: (SimpleMessenger::dispatch_entry()+0x4f4) [0x70d50e]
8: (SimpleMessenger::DispatchThread::entry()+0x29) [0x7095bd]
9: (Thread::_entry_func(void*)+0x20) [0x71a9e1]
10: /lib/libpthread.so.0 [0x7f2fe8d6573a]
11: (clone()+0x6d) [0x7f2fe7f906dd]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Sage Weil [Tue, 16 Mar 2010 20:58:03 +0000 (13:58 -0700)]
mds: fix add_replica_dir to use is_base() helper for adjusting subtree auth
Sage Weil [Tue, 16 Mar 2010 19:51:58 +0000 (12:51 -0700)]
mds: fix SimpleLock state encode/decode
This was broken when we changed the size of SimpleLock::state
to __u16.
Sage Weil [Tue, 16 Mar 2010 19:39:17 +0000 (12:39 -0700)]
Merge branch 'unstable' into mds
Sage Weil [Tue, 16 Mar 2010 19:35:28 +0000 (12:35 -0700)]
mds: remove unlinked metadata after replay
We can get unlink metadata after replay:
create some auth metadata (possibly a whole tree)
export to another mds
other mds deletes it
reimport tree, original link to root is broken by EImportStart
-> entire tree is unlinked
Find any unlinked metadata (that's not a base inode) and remove
it (recursively) after journal replay.
Sage Weil [Tue, 16 Mar 2010 19:14:22 +0000 (12:14 -0700)]
mds: do not add null dentry to frozen dir
Otherwise we get confused when we unfreeze:
mds/mdstypes.h:1193: FAILED assert(ref_set.count(by) > 0)
1: (MDSCacheObject::bad_put(int)+0x3e) [0x79acfc]
2: (MDSCacheObject::put(int)+0x5a) [0x79e332]
3: (CDentry::finish_export()+0x52) [0x8874ba]
4: (Migrator::finish_export_dir(CDir*, std::list<Context*, std::allocator<Context*> >&, utime_t)+0x1a4) [0x8751fc]
5: (Migrator::finish_export_dir(CDir*, std::list<Context*, std::allocator<Context*> >&, utime_t)+0x243) [0x87529b]
Sage Weil [Tue, 16 Mar 2010 18:41:50 +0000 (11:41 -0700)]
mon: declare class MonCaps in PaxosServiceMessage
Sage Weil [Tue, 16 Mar 2010 17:11:21 +0000 (10:11 -0700)]
osd: do no index reqid for CLONE ops (or BACKLOG ops)
We don't want to index the Log::Entry reqid for CLONE ops because
each CLONE is followed by a real op with the same reqid.. that's
the one that should get indexed. Introduce a helper to keep
the logic consistent.
Sage Weil [Tue, 16 Mar 2010 18:37:57 +0000 (11:37 -0700)]
ceph: drop (broken) poll mode (use -w instead)
It wasn't working anyway.
Sage Weil [Tue, 16 Mar 2010 18:37:40 +0000 (11:37 -0700)]
ceph: add -s|--status command
Print one-shot summary of each paxos service.
Greg Farnum [Tue, 16 Mar 2010 18:16:44 +0000 (11:16 -0700)]
Revert "mon: PaxosServiceMessages now routed through paxos_dispatch and get caps set"
This reverts commit
0c688f94bef805ce6c6a777885406e3e43b90b65 .
Revert "mon: Use PaxosServiceMessage::caps instead of Session::caps where applicable"
This reverts commit
e33e17ec2f8994527d23fbc6bd1d064e90c7fce8 .
This needs to be reworked slightly to handle inter-mon communication better.
Greg Farnum [Tue, 16 Mar 2010 18:09:50 +0000 (11:09 -0700)]
mon: handle_route uses lazy_send_message for unknown MRoutes
Greg Farnum [Tue, 16 Mar 2010 16:34:19 +0000 (09:34 -0700)]
mon: add encode/decode functions to MonCaps
Sage Weil [Tue, 16 Mar 2010 18:10:58 +0000 (11:10 -0700)]
mds: adjust rdlock forwarding on replicas
Include LOCK, MIX, and associated gather states. An EXCL on the
auth (which is not temporary) is a LOCK on the replica, so fw.
(Otherwise we'd need another state.) MIX should fw too, since
it is also stable and the replcia can't rdlock.
Include leading states because rdlock waits for WAIT_RD, not
stable.
Sage Weil [Tue, 16 Mar 2010 16:54:36 +0000 (09:54 -0700)]
mds: send resolve to resolve_set
Not RESOLVE|REJOIN|CLIENTREPLAY|ACTIVE|STOPPING, according to
the current MDSMap.
Fixes problem where the resolve_set is empty, but we send
resolves out, and got != needed because got is a superset.
Sage Weil [Fri, 12 Mar 2010 00:52:44 +0000 (16:52 -0800)]
mds: fix replica dentry linkage updates
Previously we have a broken hack that would drop a replicated
null dentry if it got new linkage. We already get an explicit
message if it was unlinked, that unlinks it cleanly. Do the
same for links, and replicate the newly linked inode as
needed. This is much cleaner and more correct.
Specifically, this fixes a problem where a create (link) and
unlink are pipelined by the same client under the same xlock,
so that the previous hack (in the handle_lock handler) never
triggers because the lock state doesn't toggle between the link
and unlink.
send_dentry_link sends current, not projected, linkage
Sage Weil [Tue, 16 Mar 2010 05:13:05 +0000 (22:13 -0700)]
osd: only insert non-zero intervals into interval_set
Sage Weil [Tue, 16 Mar 2010 05:00:58 +0000 (22:00 -0700)]
qa: fix snaptest1.sh
Sage Weil [Tue, 16 Mar 2010 04:56:49 +0000 (21:56 -0700)]
mds: add array bounds check for null dentry lease
Greg Farnum [Tue, 16 Mar 2010 00:02:09 +0000 (17:02 -0700)]
mon: Use PaxosServiceMessage::caps instead of Session::caps where applicable
Greg Farnum [Mon, 15 Mar 2010 23:53:33 +0000 (16:53 -0700)]
mon: PaxosServiceMessages now routed through paxos_dispatch and get caps set
Greg Farnum [Mon, 15 Mar 2010 22:58:52 +0000 (15:58 -0700)]
msg: PaxosServiceMessage includes a MonCap*
Greg Farnum [Mon, 15 Mar 2010 21:45:30 +0000 (14:45 -0700)]
mon: Add a Session operator<<, use it in OSDMonitor
Sage Weil [Mon, 15 Mar 2010 18:01:50 +0000 (11:01 -0700)]
mds: avoid null deref of SimpleLock::_unstable
Sage Weil [Mon, 15 Mar 2010 17:58:57 +0000 (10:58 -0700)]
mds: use CDir::item_new for LogSegment::new_dirfrags elist
Greg Farnum [Mon, 15 Mar 2010 17:37:22 +0000 (10:37 -0700)]
auth: update documentation on caps
Greg Farnum [Mon, 15 Mar 2010 17:03:39 +0000 (10:03 -0700)]
mon: return error codes from prepare_new_pool
Greg Farnum [Fri, 12 Mar 2010 23:45:31 +0000 (15:45 -0800)]
mon: add warning/debugging prints to prepare_new_pool
Sage Weil [Sat, 13 Mar 2010 00:48:32 +0000 (16:48 -0800)]
Merge branch 'mds_mem' into unstable
Sage Weil [Sat, 13 Mar 2010 00:08:36 +0000 (16:08 -0800)]
mds: be consistent about list<>::item naming (item_foo)
Sage Weil [Fri, 12 Mar 2010 23:57:04 +0000 (15:57 -0800)]
dlist: fix pop_front/back
Sage Weil [Fri, 12 Mar 2010 23:28:27 +0000 (15:28 -0800)]
xlist: clean up interface
Sage Weil [Fri, 12 Mar 2010 23:26:15 +0000 (15:26 -0800)]
dlist: clean up interface
Sage Weil [Fri, 12 Mar 2010 23:26:02 +0000 (15:26 -0800)]
mds: use elist instead of dlist
Sage Weil [Fri, 12 Mar 2010 18:13:20 +0000 (10:13 -0800)]
elist: simpler embedded list
This is more or less equivalent to the linux kernel list_head:
each embedded item struct has only a next and prev pointer. As
long as the same member item is always used, at a fixed offset
from the containing class, we can go from an item to a contained
class.
The offset can either be passed to the list (head) constructor,
or to the begin(), front(), back() members explicitly.
Iterator has 3 modes.. current (list_for_each), cache_next
(list_for_each_safe), and magic (uses cached next iff current is
empty). Magic will work most of the time... as long as we don't
re-add ourselves to a different list inside the iterator loop.
(Note that if we do, we will iterator up to the other list's
head, not detect it is a head, an get an invalid pointer and
crash.)
elist: add to makefile
elist: require offset for cosntructor
elist: fix pop_front/back
Greg Farnum [Fri, 12 Mar 2010 22:24:17 +0000 (14:24 -0800)]
rgw: remove unused refcount data member from XMLObj. Also clears up ctor
Greg Farnum [Thu, 11 Mar 2010 22:49:27 +0000 (14:49 -0800)]
rgw: Add documentation
Sage Weil [Fri, 12 Mar 2010 17:09:09 +0000 (09:09 -0800)]
Merge branch 'mds_mem' into unstable
Sage Weil [Fri, 12 Mar 2010 16:40:04 +0000 (08:40 -0800)]
cephx: initialize values
Sage Weil [Thu, 11 Mar 2010 17:40:09 +0000 (09:40 -0800)]
synclient: print mount error
Sage Weil [Fri, 12 Mar 2010 05:43:56 +0000 (21:43 -0800)]
xlist: clean up users
Sage Weil [Fri, 12 Mar 2010 05:43:37 +0000 (21:43 -0800)]
mds: use dlist instead of xlist for main cache objects
Sage Weil [Fri, 12 Mar 2010 05:43:23 +0000 (21:43 -0800)]
dlist: simpler version of xlist without _list pointer
Sage Weil [Fri, 12 Mar 2010 05:11:08 +0000 (21:11 -0800)]
mds: reduce MDSCacheObject footprint a bit
Save 8 bytes. Whoop.
Sage Weil [Fri, 12 Mar 2010 05:07:00 +0000 (21:07 -0800)]
mds: replica_nonce can wrap; fix asserts