]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agomds: fix MDSTableClient ack double journaling
Sage Weil [Tue, 30 Mar 2010 17:30:02 +0000 (10:30 -0700)]
mds: fix MDSTableClient ack double journaling

Do not journal ack unless the tid is registered in the LogSegment.  Once
we journal it, we remove it from the LogSegment list, and once it's
journaled, we remove the pending_commit[tid] entry.

This fixes a bug where the mds got two acks, journaled both of them, and
crashed in the completion for the second because pending_commit[tid] was
gone.  The second ack should have been ignored.

15 years agomds: start file recovery after sending rejoin ack
Sage Weil [Mon, 29 Mar 2010 23:26:54 +0000 (16:26 -0700)]
mds: start file recovery after sending rejoin ack

The rejoin ack intializes replica lock states correctly; we can't send any
lock messages before that.  This fixes both the check max size call (which
sends lock messages taking the wrlock) and the file_recover() call
(which does the same).

Instead, we make two lists, files to recover and those to fix up.  The lock
states for both are set to PRE_SCAN (LOCK on replica).  After the rejoin
acks go out, we either check_inode_max_size or file_recover.

If file_recover someday grows another caller, this may need something a bit
more sophisticated.

15 years agomds: delay check_inode_max_size if frozen
Sage Weil [Mon, 29 Mar 2010 22:52:51 +0000 (15:52 -0700)]
mds: delay check_inode_max_size if frozen

15 years agomds: less noisy about snaprealm siblings
Sage Weil [Mon, 29 Mar 2010 21:34:52 +0000 (14:34 -0700)]
mds: less noisy about snaprealm siblings

This can get _very_ large for the stray dir.

15 years agomds: migrate frag/nest scatterlock info on bounding frags during export
Sage Weil [Fri, 26 Mar 2010 23:01:35 +0000 (16:01 -0700)]
mds: migrate frag/nest scatterlock info on bounding frags during export

This ensures that the auth inode continues to maintain accurate scatterlock
info about open frags.  We include info on export if it is a bounding frag.
On import, we only take it if we are !auth.  This mirrors the scatterlock
scatter/gather logic in CInode::{encode,decode}_lock_state.

15 years agomds: make rdlock waiter wait on STABLE | RD, not just RD, when lock is unstable
Sage Weil [Fri, 26 Mar 2010 21:12:42 +0000 (14:12 -0700)]
mds: make rdlock waiter wait on STABLE | RD, not just RD, when lock is unstable

15 years agomds: use 32 bits for MDSCacheObject::ref count
Sage Weil [Fri, 26 Mar 2010 20:35:42 +0000 (13:35 -0700)]
mds: use 32 bits for MDSCacheObject::ref count

16 is not enough!  :)

15 years agoMerge branch 'unstable' into mds
Sage Weil [Fri, 26 Mar 2010 20:22:04 +0000 (13:22 -0700)]
Merge branch 'unstable' into mds

Conflicts:
src/TODO

15 years agomkcephf: behave when user is not defined
Sage Weil [Fri, 26 Mar 2010 19:09:18 +0000 (12:09 -0700)]
mkcephf: behave when user is not defined

15 years agomds: skip purge_stray when stray pins are present
Sage Weil [Fri, 26 Mar 2010 18:56:34 +0000 (11:56 -0700)]
mds: skip purge_stray when stray pins are present

Otherwise we can get into a loop:

 eval_stray
 purge_stray
 _purge_stray_purged
  journal truncate
 eval_stray
 ...

This doesn't explain what the stray pin was that I saw, but it at least
avoids the looping.

15 years agomds: drop unused CInode::PIN_PURGING
Sage Weil [Fri, 26 Mar 2010 18:54:30 +0000 (11:54 -0700)]
mds: drop unused CInode::PIN_PURGING

15 years agoauth: fix a few memory leaks, uninit vars
Sage Weil [Thu, 25 Mar 2010 19:51:05 +0000 (12:51 -0700)]
auth: fix a few memory leaks, uninit vars

Courtesy of cppcheck

15 years agoMakefile: add missing MDentryLink.h
Sage Weil [Thu, 25 Mar 2010 19:00:34 +0000 (12:00 -0700)]
Makefile: add missing MDentryLink.h

15 years agosrc/README is required
Sage Weil [Thu, 25 Mar 2010 18:48:25 +0000 (11:48 -0700)]
src/README is required

15 years agofilestore: less noisy about OpSequencer queue
Sage Weil [Thu, 25 Mar 2010 18:31:05 +0000 (11:31 -0700)]
filestore: less noisy about OpSequencer queue

15 years agomds: drop obsolete hack for base inodes
Sage Weil [Thu, 25 Mar 2010 17:58:21 +0000 (10:58 -0700)]
mds: drop obsolete hack for base inodes

We used to skip base inodes for scatter_writebehind.  But we can
journal these just like anything else, and it potentially breaks
try_to_expire if a base inode's lock is dirty, because the
completion queued on WAIT_STABLE by scatter_nudge never gets
completed.

15 years agomds: fix lost completion in scatter_nudge (broke log trimming)
Sage Weil [Thu, 25 Mar 2010 17:54:07 +0000 (10:54 -0700)]
mds: fix lost completion in scatter_nudge (broke log trimming)

15 years agorados_bencher: Don't re-initialize passed-in pool, it breaks stuff
Greg Farnum [Thu, 25 Mar 2010 22:39:58 +0000 (15:39 -0700)]
rados_bencher: Don't re-initialize passed-in pool, it breaks stuff

15 years agoosd: Fix up OSDCaps::get_pool_cap to work/make more sense
Greg Farnum [Thu, 25 Mar 2010 22:38:52 +0000 (15:38 -0700)]
osd: Fix up OSDCaps::get_pool_cap to work/make more sense

15 years agorados: add interface to change pool owners
Greg Farnum [Tue, 23 Mar 2010 22:08:13 +0000 (15:08 -0700)]
rados: add interface to change pool owners

15 years agolibrados: add change_pool_auid functions
Greg Farnum [Tue, 23 Mar 2010 20:41:01 +0000 (13:41 -0700)]
librados: add change_pool_auid functions

15 years agoobjecter: add change_pool_auid function.
Greg Farnum [Tue, 23 Mar 2010 20:38:02 +0000 (13:38 -0700)]
objecter: add change_pool_auid function.

I'm reluctant to stick this in the objecter since it doesn't quite fit, but
it's a pool management function and putting it here makes it easy to use
elsewhere while maintaining librados' standard function flow.

15 years agomds: allow rdlock on replica to request sync from auth
Sage Weil [Thu, 25 Mar 2010 20:17:06 +0000 (13:17 -0700)]
mds: allow rdlock on replica to request sync from auth

This fixes a ping-pong readdir between inode and dirfrag auth.

15 years agomon: Set MForward::client_caps explicitly; this fixes a bad connection deref.
Greg Farnum [Thu, 25 Mar 2010 19:58:14 +0000 (12:58 -0700)]
mon: Set MForward::client_caps explicitly; this fixes a bad connection deref.

Previously the decoded PaxosServiceMessage would attempt to follow an
uninitialized Connection* and segfault the system.

15 years agomon: set mon_caps with authenticated monitor check instead of claimed one.
Greg Farnum [Wed, 24 Mar 2010 23:07:51 +0000 (16:07 -0700)]
mon: set mon_caps with authenticated monitor check instead of claimed one.

15 years agomon: Fix all uses of Session and get_caps.
Greg Farnum [Thu, 25 Mar 2010 17:43:04 +0000 (10:43 -0700)]
mon: Fix all uses of Session and get_caps.
They now use MonSession and get_service()->caps, respectively.

15 years agomon: Change name of Session to MonSession.
Greg Farnum [Thu, 25 Mar 2010 17:41:31 +0000 (10:41 -0700)]
mon: Change name of Session to MonSession.

15 years agomsg: Add get_session function to PaxosServiceMessage
Greg Farnum [Thu, 25 Mar 2010 17:11:20 +0000 (10:11 -0700)]
msg: Add get_session function to PaxosServiceMessage

15 years agoRevert "msg: PaxosServiceMessage includes a MonCap*"
Greg Farnum [Thu, 25 Mar 2010 16:54:58 +0000 (09:54 -0700)]
Revert "msg: PaxosServiceMessage includes a MonCap*"

This reverts commit 167b28a0d4cb2977f237be1972e40e04aed24207.

15 years agomon: MonCaps default initializes more variables
Greg Farnum [Wed, 24 Mar 2010 20:54:20 +0000 (13:54 -0700)]
mon: MonCaps default initializes more variables

15 years agoosd: drop useless ENOMEM check
Sage Weil [Thu, 25 Mar 2010 17:19:43 +0000 (10:19 -0700)]
osd: drop useless ENOMEM check

'new' will throw an exception if it fails, not return NULL.

15 years agovstart.sh: include mon secret during mkfs
Sage Weil [Thu, 25 Mar 2010 17:19:25 +0000 (10:19 -0700)]
vstart.sh: include mon secret during mkfs

15 years agomon: fix up authorizer generation/validation
Sage Weil [Thu, 25 Mar 2010 17:19:02 +0000 (10:19 -0700)]
mon: fix up authorizer generation/validation

Only generate authorizer for other mons. Only require authorizer for other
mons when CEPHX is enabled.  Check it properly (before we were letting
mons connect without any authorizer!).

15 years agomds: fix bug in handle_discover on mdsdir
Sage Weil [Tue, 23 Mar 2010 18:47:01 +0000 (11:47 -0700)]
mds: fix bug in handle_discover on mdsdir

15 years agomds: check myin, not stray, in rejoin_send_acks
Sage Weil [Tue, 23 Mar 2010 18:46:49 +0000 (11:46 -0700)]
mds: check myin, not stray, in rejoin_send_acks

15 years agomon: change forwarding behavior somewhat
Sage Weil [Wed, 24 Mar 2010 22:50:31 +0000 (15:50 -0700)]
mon: change forwarding behavior somewhat

15 years agomon: initialize routed_request_tid
Sage Weil [Wed, 24 Mar 2010 22:24:07 +0000 (15:24 -0700)]
mon: initialize routed_request_tid

15 years agomsgr: set m->connection for messages sent to self
Sage Weil [Wed, 24 Mar 2010 21:04:49 +0000 (14:04 -0700)]
msgr: set m->connection for messages sent to self

15 years agoosd: detect TMAPUP no-op and do no work
Sage Weil [Wed, 24 Mar 2010 18:43:57 +0000 (11:43 -0700)]
osd: detect TMAPUP no-op and do no work

15 years agodebug: include timestamp + thread in _all_ debug output
Sage Weil [Wed, 24 Mar 2010 18:54:44 +0000 (11:54 -0700)]
debug: include timestamp + thread in _all_ debug output

15 years agoqa: fix loopall.sh mode
Sage Weil [Wed, 24 Mar 2010 18:42:56 +0000 (11:42 -0700)]
qa: fix loopall.sh mode

15 years agotodo
Sage Weil [Wed, 24 Mar 2010 18:50:17 +0000 (11:50 -0700)]
todo

15 years agotodo mds bug
Sage Weil [Tue, 23 Mar 2010 23:47:59 +0000 (16:47 -0700)]
todo mds bug

15 years agomon: Hack in setting monitor caps
Greg Farnum [Tue, 23 Mar 2010 22:25:58 +0000 (15:25 -0700)]
mon: Hack in setting monitor caps

15 years agofix up READMEs
Sage Weil [Tue, 23 Mar 2010 19:24:34 +0000 (12:24 -0700)]
fix up READMEs

15 years agomds: fix up client session importing
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.

15 years agomon: Fix initialization-crossing goto jump
Greg Farnum [Tue, 23 Mar 2010 21:03:40 +0000 (14:03 -0700)]
mon: Fix initialization-crossing goto jump

15 years agomds: importing, ugh
Sage Weil [Tue, 23 Mar 2010 20:39:38 +0000 (13:39 -0700)]
mds: importing, ugh

15 years agomds: clean up kill_session()
Sage Weil [Tue, 23 Mar 2010 20:32:58 +0000 (13:32 -0700)]
mds: clean up kill_session()

15 years agomds: possible session 'importing' state
Sage Weil [Tue, 23 Mar 2010 20:20:12 +0000 (13:20 -0700)]
mds: possible session 'importing' state

15 years agomds: drop purge step when closing client sessions
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.

15 years agomon: Removing dead code; been commented out for 5 months
Greg Farnum [Tue, 23 Mar 2010 19:40:55 +0000 (12:40 -0700)]
mon: Removing dead code; been commented out for 5 months

15 years agomon: remove dead 'magic' code
Greg Farnum [Tue, 23 Mar 2010 19:26:00 +0000 (12:26 -0700)]
mon: remove dead 'magic' code

15 years agotodo
Sage Weil [Tue, 23 Mar 2010 19:13:09 +0000 (12:13 -0700)]
todo

15 years agomds: fix bug in handle_discover on mdsdir
Sage Weil [Tue, 23 Mar 2010 18:47:01 +0000 (11:47 -0700)]
mds: fix bug in handle_discover on mdsdir

15 years agomds: check myin, not stray, in rejoin_send_acks
Sage Weil [Tue, 23 Mar 2010 18:46:49 +0000 (11:46 -0700)]
mds: check myin, not stray, in rejoin_send_acks

15 years agomds: fix eval_gather for sync->mix(2) and mix->sync(2)
Sage Weil [Tue, 23 Mar 2010 18:41:33 +0000 (11:41 -0700)]
mds: fix eval_gather for sync->mix(2) and mix->sync(2)

These states never move to next state on the client on their own.
The auth mds needs to tell them to switch states.

15 years agomds: encode fnode when replicating CDir
Sage Weil [Tue, 23 Mar 2010 17:56:14 +0000 (10:56 -0700)]
mds: encode fnode when replicating CDir

15 years agomon: addition to MonCaps docs mentioning how perms are used
Greg Farnum [Tue, 23 Mar 2010 18:41:04 +0000 (11:41 -0700)]
mon: addition to MonCaps docs mentioning how perms are used

15 years agomon: remove unused label out, which was causing compiler warning
Greg Farnum [Tue, 23 Mar 2010 17:59:30 +0000 (10:59 -0700)]
mon: remove unused label out, which was causing compiler warning

15 years agomon: remove now-unused macros.
Greg Farnum [Tue, 23 Mar 2010 00:07:56 +0000 (17:07 -0700)]
mon: remove now-unused macros.

15 years agomon: MRoutes are now checked by check_privileges instead of a macro
Greg Farnum [Tue, 23 Mar 2010 00:06:28 +0000 (17:06 -0700)]
mon: MRoutes are now checked by check_privileges instead of a macro

15 years agomon: MForwards are handled by check_privileges instead of a macro.
Greg Farnum [Tue, 23 Mar 2010 00:01:46 +0000 (17:01 -0700)]
mon: MForwards are handled by check_privileges instead of a macro.

15 years agomon: handling MSG_CLASS now uses caps->check_privileges instead of macros.
Greg Farnum [Mon, 22 Mar 2010 23:45:29 +0000 (16:45 -0700)]
mon: handling MSG_CLASS now uses caps->check_privileges instead of macros.

Also, delete a leaked message.

15 years agomon: use check_privileges instead of macro for MSG_MON_ELECTION
Greg Farnum [Mon, 22 Mar 2010 23:35:08 +0000 (16:35 -0700)]
mon: use check_privileges instead of macro for MSG_MON_ELECTION

15 years agomon: MSG_MON_OBSERVE handled in-function instead of with macro, sends response
Greg Farnum [Mon, 22 Mar 2010 22:58:54 +0000 (15:58 -0700)]
mon: MSG_MON_OBSERVE handled in-function instead of with macro, sends response

15 years agomon: don't use macros in evaluating MSG_MON_PAXOS messages
Greg Farnum [Mon, 22 Mar 2010 22:47:21 +0000 (15:47 -0700)]
mon: don't use macros in evaluating MSG_MON_PAXOS messages

15 years agomon: MSG_LOG uses an in-handler cap check instead of a macro
Greg Farnum [Mon, 22 Mar 2010 22:41:05 +0000 (15:41 -0700)]
mon: MSG_LOG uses an in-handler cap check instead of a macro

15 years agomon: Pool ops are already cap-checked by the handler; remove macro
Greg Farnum [Mon, 22 Mar 2010 22:32:17 +0000 (15:32 -0700)]
mon: Pool ops are already cap-checked by the handler; remove macro

15 years agomon: add mon_caps used for unconnected monitor messages
Greg Farnum [Mon, 22 Mar 2010 22:23:19 +0000 (15:23 -0700)]
mon: add mon_caps used for unconnected monitor messages

15 years agomon: stat requests use caps->check_privileges instead of a macro
Greg Farnum [Mon, 22 Mar 2010 20:28:01 +0000 (13:28 -0700)]
mon: stat requests use caps->check_privileges instead of a macro

15 years agomon: the MDS messages use caps->check_privileges instead of the macro
Greg Farnum [Mon, 22 Mar 2010 18:28:11 +0000 (11:28 -0700)]
mon: the MDS messages use caps->check_privileges instead of the macro

15 years agomon: MRemoveSnaps uses caps->check_privileges
Greg Farnum [Mon, 22 Mar 2010 17:10:00 +0000 (10:10 -0700)]
mon: MRemoveSnaps uses caps->check_privileges

15 years agomon: OSD handling messages use caps->check_privileges instead of macros
Greg Farnum [Mon, 22 Mar 2010 16:40:45 +0000 (09:40 -0700)]
mon: OSD handling messages use caps->check_privileges instead of macros

15 years agomon: Use MonCaps::check_privileges instead of a macro for MSG_MON_COMMANDs.
Greg Farnum [Fri, 19 Mar 2010 23:28:29 +0000 (16:28 -0700)]
mon: Use MonCaps::check_privileges instead of a macro for MSG_MON_COMMANDs.

15 years agomds: combine new, closed states; few small fixes
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.

15 years agomds: style fixes (from cppcheck)
Martin Ettl [Mon, 22 Mar 2010 20:50:30 +0000 (13:50 -0700)]
mds: style fixes (from cppcheck)

15 years agoosd: warn on no osd journal
Sage Weil [Mon, 22 Mar 2010 20:44:44 +0000 (13:44 -0700)]
osd: warn on no osd journal

15 years agomds: don't kick clients if we've been laggy ourselves
Sage Weil [Mon, 22 Mar 2010 20:39:40 +0000 (13:39 -0700)]
mds: don't kick clients if we've been laggy ourselves

15 years agomds: no early complete from scatter_nudge after partial work
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.

15 years agotodo fixed some bugs
Sage Weil [Thu, 18 Mar 2010 23:02:37 +0000 (16:02 -0700)]
todo fixed some bugs

15 years agomsgr: no more forward_message()
Sage Weil [Mon, 22 Mar 2010 17:18:04 +0000 (10:18 -0700)]
msgr: no more forward_message()

15 years agomds: re-send, do not forward, mds messages
Sage Weil [Mon, 22 Mar 2010 16:14:36 +0000 (09:14 -0700)]
mds: re-send, do not forward, mds messages

15 years agomds: encode source mds in MDirUpdate
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.

15 years agomds: encode source mds in MExportDirDiscover explicitly
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.

15 years agomds: rev mds internal protocol
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

15 years agomon: Fix resend_routed_requests.
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.

15 years agomon: another forwarding fix for resend_routed_requests
Greg Farnum [Mon, 22 Mar 2010 17:23:45 +0000 (10:23 -0700)]
mon: another forwarding fix for resend_routed_requests

15 years agomon: Forwarding fixes.
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*.

15 years agomsg: Remove dead code MSG_OSD_IN/OUT
Greg Farnum [Fri, 19 Mar 2010 23:30:01 +0000 (16:30 -0700)]
msg: Remove dead code MSG_OSD_IN/OUT

15 years agomon: x has little meaning for a mon, let's not confuse things for pool ops
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

15 years agomon: use our standard indicator for locked/unlocked in ms_dispatch:
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.

15 years agoobjecter: don't lose reply codes when we wait_for_new_map
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

15 years agorados: add undocumented option to specify auid when making pools
Greg Farnum [Thu, 18 Mar 2010 18:47:00 +0000 (11:47 -0700)]
rados: add undocumented option to specify auid when making pools

15 years agomon: msg: Better output/debugging
Greg Farnum [Thu, 18 Mar 2010 18:46:37 +0000 (11:46 -0700)]
mon: msg: Better output/debugging

15 years agoobjecter: always fill in auid
Greg Farnum [Thu, 18 Mar 2010 17:50:59 +0000 (10:50 -0700)]
objecter: always fill in auid

15 years agomsg: MPoolOp now encodes its auid, prints more.
Greg Farnum [Thu, 18 Mar 2010 17:50:30 +0000 (10:50 -0700)]
msg: MPoolOp now encodes its auid, prints more.

15 years agomon: handle_subscribe now uses check_privileges instead of get_caps.
Greg Farnum [Thu, 18 Mar 2010 16:07:06 +0000 (09:07 -0700)]
mon: handle_subscribe now uses check_privileges instead of get_caps.

15 years agomon: Pretty sure MDS BEACON messages should only come from MDSes
Greg Farnum [Wed, 17 Mar 2010 22:42:13 +0000 (15:42 -0700)]
mon: Pretty sure MDS BEACON messages should only come from MDSes

15 years agoosdc: fix truncation of multiple extents of the same object
Yehuda Sadeh [Thu, 18 Mar 2010 21:35:24 +0000 (14:35 -0700)]
osdc: fix truncation of multiple extents of the same object