]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
17 years agoosd: object attr operations
Sage Weil [Mon, 10 Nov 2008 04:11:57 +0000 (20:11 -0800)]
osd: object attr operations

17 years agoobjecter: tweaking interface
Sage Weil [Mon, 10 Nov 2008 01:43:34 +0000 (17:43 -0800)]
objecter: tweaking interface

17 years agoobjecter: simplify objecter (no scatter/gather, generic ops vector)
Sage Weil [Sun, 9 Nov 2008 23:52:02 +0000 (15:52 -0800)]
objecter: simplify objecter (no scatter/gather, generic ops vector)

17 years agoosdc: avoid using objecter readx/writex
Sage Weil [Sun, 9 Nov 2008 23:05:37 +0000 (15:05 -0800)]
osdc: avoid using objecter readx/writex

17 years agoosd: compound osd operations
Sage Weil [Fri, 7 Nov 2008 04:48:55 +0000 (20:48 -0800)]
osd: compound osd operations

17 years agoclient: adjust objecter locking
Sage Weil [Sun, 9 Nov 2008 16:43:14 +0000 (08:43 -0800)]
client: adjust objecter locking

We want to unlock client_lock before claling into objecter, mainly because the callbacks
rely on SafeCond that take a lock to signal a Cond and that gets awkward without mutex
recursion (see _write()'s sync case).

17 years agoosd: track recovery sources independently of missing list
Sage Weil [Fri, 7 Nov 2008 22:02:12 +0000 (14:02 -0800)]
osd: track recovery sources independently of missing list

Fixes pull() to choose an osd that isn't down.

17 years agomds: debug session ref in EMetaBlob during replay
Sage Weil [Fri, 7 Nov 2008 21:36:52 +0000 (13:36 -0800)]
mds: debug session ref in EMetaBlob during replay

17 years agomds: match last snap exactly on replay, add_*_dentry
Sage Weil [Fri, 7 Nov 2008 21:26:41 +0000 (13:26 -0800)]
mds: match last snap exactly on replay, add_*_dentry

In general, we add new snapped dentries and THEN the new live dentry
to the metablob.  That means that during replay, we see [2,2] followed
by [3,head], replacing [2,head].  The [2,2] dentry should be added
anew, without paying heed to [2,head], and then the [3,head] should
replace/update [2,head].

It was mainly just the assertions in add_*_dentry that were getting
in the way.. but the lookup_exact_snap is also slightly faster.

17 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Fri, 7 Nov 2008 21:11:08 +0000 (13:11 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

17 years agokclient: when going down, release caps anyway
Yehuda Sadeh [Fri, 7 Nov 2008 21:10:58 +0000 (13:10 -0800)]
kclient: when going down, release caps anyway

17 years agomon: avoid updating pg_map when osd_stat is unchanged
Sage Weil [Fri, 7 Nov 2008 21:07:28 +0000 (13:07 -0800)]
mon: avoid updating pg_map when osd_stat is unchanged

17 years agocmonctl: -w or --watch to watch (and print) mds/osd/pg stat changes
Sage Weil [Fri, 7 Nov 2008 20:44:26 +0000 (12:44 -0800)]
cmonctl: -w or --watch to watch (and print) mds/osd/pg stat changes

17 years agomds: don't cow a null dentry
Sage Weil [Fri, 7 Nov 2008 18:56:25 +0000 (10:56 -0800)]
mds: don't cow a null dentry

17 years agokclient: sparse warnings
Yehuda Sadeh [Fri, 7 Nov 2008 18:23:00 +0000 (10:23 -0800)]
kclient: sparse warnings

17 years agovstart.sh: add usage of $CEPH_BIN
Yehuda Sadeh [Fri, 7 Nov 2008 18:21:19 +0000 (10:21 -0800)]
vstart.sh: add usage of $CEPH_BIN

17 years agoosd: don't repeer an active pg just because the prior_set was affected
Sage Weil [Fri, 7 Nov 2008 17:47:59 +0000 (09:47 -0800)]
osd: don't repeer an active pg just because the prior_set was affected

We only want to restart peering due to prior_set changes if it hasn't completed
yet.

17 years agomds: check dn->last when finding existing dentries during replay
Sage Weil [Fri, 7 Nov 2008 00:28:17 +0000 (16:28 -0800)]
mds: check dn->last when finding existing dentries during replay

We can't simply search for an existing dentry based on the name and end
snap, as that may turn up the wrong item.  For example, if we have
[2,head] and the replaying operations cowed that to [2,2] and [3,head], then
if we replay the [2,2] item first we'll find [2,head] (the _wrong_ dentry)
and throw an assertion.

So just check for dn->last != p->dnlast.

17 years agotodos
Sage Weil [Fri, 7 Nov 2008 00:14:18 +0000 (16:14 -0800)]
todos

17 years agoebofs: another recursive lock bug
Sage Weil [Fri, 7 Nov 2008 03:27:51 +0000 (19:27 -0800)]
ebofs: another recursive lock bug

17 years agoosd: turn up debug on any shutdown, not just SIGINT/SIGTERM, for now
Sage Weil [Fri, 7 Nov 2008 03:15:50 +0000 (19:15 -0800)]
osd: turn up debug on any shutdown, not just SIGINT/SIGTERM, for now

17 years agomsgr: fix problem with forced stop of pipe
Sage Weil [Fri, 7 Nov 2008 03:15:32 +0000 (19:15 -0800)]
msgr: fix problem with forced stop of pipe

17 years agoebofs: fix lock recursion
Sage Weil [Fri, 7 Nov 2008 03:15:10 +0000 (19:15 -0800)]
ebofs: fix lock recursion

17 years agomon: handle invalid commands to pgmon
Sage Weil [Thu, 6 Nov 2008 22:26:10 +0000 (14:26 -0800)]
mon: handle invalid commands to pgmon

17 years agoosd: add degraded pg state bit
Sage Weil [Thu, 6 Nov 2008 23:32:32 +0000 (15:32 -0800)]
osd: add degraded pg state bit

17 years agoosd: improve build_prior logic
Sage Weil [Thu, 6 Nov 2008 23:03:49 +0000 (15:03 -0800)]
osd: improve build_prior logic

If, during some interval since the pg last went active, we may have gone
rw, but none of the osds survived, then we include all of those osds
in the prior_set (even tho they're down), because they may have written data
that we want.

The prior logic appears to have been broken.  It was only looking at the
primary osd.

17 years agoosd: turn up debugging on SIGINT/TERM
Sage Weil [Thu, 6 Nov 2008 22:11:13 +0000 (14:11 -0800)]
osd: turn up debugging on SIGINT/TERM

17 years agoosd: fix osd_lock recursion in wake_snap_trimmer
Sage Weil [Thu, 6 Nov 2008 21:58:10 +0000 (13:58 -0800)]
osd: fix osd_lock recursion in wake_snap_trimmer

17 years agokclient: bookkeeper detects buffer overrun
Yehuda Sadeh [Thu, 6 Nov 2008 21:47:08 +0000 (13:47 -0800)]
kclient: bookkeeper detects buffer overrun

17 years agokclient: frag_make_child fix (sage)
Yehuda Sadeh [Thu, 6 Nov 2008 21:26:08 +0000 (13:26 -0800)]
kclient: frag_make_child fix (sage)

17 years agoosd: don't pull if source osd is down
Sage Weil [Thu, 6 Nov 2008 17:43:59 +0000 (09:43 -0800)]
osd: don't pull if source osd is down

17 years agokclient: ran checkpatch
Sage Weil [Thu, 6 Nov 2008 18:57:10 +0000 (10:57 -0800)]
kclient: ran checkpatch

17 years agotodos
Sage Weil [Thu, 6 Nov 2008 18:56:51 +0000 (10:56 -0800)]
todos

17 years agosynclient: fix debug prefix
Sage Weil [Thu, 6 Nov 2008 00:54:52 +0000 (16:54 -0800)]
synclient: fix debug prefix

17 years agocfuse: fix symlink call
Sage Weil [Wed, 5 Nov 2008 23:07:39 +0000 (15:07 -0800)]
cfuse: fix symlink call

17 years agovstart.sh
Sage Weil [Wed, 5 Nov 2008 22:54:51 +0000 (14:54 -0800)]
vstart.sh

17 years agofix env parsing
Sage Weil [Wed, 5 Nov 2008 22:54:13 +0000 (14:54 -0800)]
fix env parsing

17 years agostreamtest: fix debug
Sage Weil [Wed, 5 Nov 2008 22:53:53 +0000 (14:53 -0800)]
streamtest: fix debug

17 years agovstartnew.sh: clean out gmon
Sage Weil [Wed, 5 Nov 2008 22:39:02 +0000 (14:39 -0800)]
vstartnew.sh: clean out gmon

17 years agojournal: debugging journal full
Sage Weil [Wed, 5 Nov 2008 22:38:45 +0000 (14:38 -0800)]
journal: debugging journal full

17 years agodstart.sh: -d flag
Sage Weil [Wed, 5 Nov 2008 22:38:19 +0000 (14:38 -0800)]
dstart.sh: -d flag

17 years agoconfig: parse CEPH_ARGS env var too
Sage Weil [Wed, 5 Nov 2008 22:31:44 +0000 (14:31 -0800)]
config: parse CEPH_ARGS env var too

17 years agoclient: fix client_lock recursion
Sage Weil [Wed, 5 Nov 2008 22:15:21 +0000 (14:15 -0800)]
client: fix client_lock recursion

17 years agorewrite debug macros, infrastructure
Sage Weil [Wed, 5 Nov 2008 22:09:04 +0000 (14:09 -0800)]
rewrite debug macros, infrastructure

17 years agotry to chdir on exit to avoid clobbering ./gmon.out
Sage Weil [Tue, 4 Nov 2008 22:50:21 +0000 (14:50 -0800)]
try to chdir on exit to avoid clobbering ./gmon.out

17 years agoosd: fix prior_set_up_thru condition
Sage Weil [Tue, 4 Nov 2008 22:43:48 +0000 (14:43 -0800)]
osd: fix prior_set_up_thru condition

If an OSD's up_thru affects the membership of the prior_set, take note.
Then, if the osd's up_thru changes later, we know to rebuild it.

17 years agoosd: fix PG::Info::History::same_since adjustment in advance_map
Sage Weil [Tue, 4 Nov 2008 22:19:26 +0000 (14:19 -0800)]
osd: fix PG::Info::History::same_since adjustment in advance_map

...now that we may reach this code even when the acting set is unchanged.

17 years agoosd: repeer osd if prior set may be affected
Sage Weil [Tue, 4 Nov 2008 21:49:18 +0000 (13:49 -0800)]
osd: repeer osd if prior set may be affected

Previously we only repeered if the active set changed.  However, changes
in the up/down state of the prior set (or prior set candidates) or the
primary osd's up_thru can also affect the prior set and peering.

This fixes the problem where PGs get stuck in a "crashed" state without
moving to "crashed+replay".  We sit and wait for info from a peer who
we thought was up but is now down, or vice-versa.

17 years agoosd: shutdown cleanly on SIGINT, too
Sage Weil [Tue, 4 Nov 2008 21:01:08 +0000 (13:01 -0800)]
osd: shutdown cleanly on SIGINT, too

17 years agoosd: clean up shutdown sequence
Sage Weil [Tue, 4 Nov 2008 21:01:01 +0000 (13:01 -0800)]
osd: clean up shutdown sequence

17 years agoosd: shutdown cleanly on SIGTERM
Sage Weil [Tue, 4 Nov 2008 21:00:24 +0000 (13:00 -0800)]
osd: shutdown cleanly on SIGTERM

17 years agofilestore: lock fsid file to avoid multiple users
Sage Weil [Tue, 4 Nov 2008 20:08:15 +0000 (12:08 -0800)]
filestore: lock fsid file to avoid multiple users

17 years agojournal: fix recursive locking when queueing commit callback; simplify
Sage Weil [Tue, 4 Nov 2008 19:45:53 +0000 (11:45 -0800)]
journal: fix recursive locking when queueing commit callback; simplify

17 years agolockdep: separate from Mutex; include checks for RWLock
Sage Weil [Tue, 4 Nov 2008 19:45:22 +0000 (11:45 -0800)]
lockdep: separate from Mutex; include checks for RWLock

17 years agoosd: remove odd divergent log assertion
Sage Weil [Tue, 4 Nov 2008 19:25:06 +0000 (11:25 -0800)]
osd: remove odd divergent log assertion

The divergent log handling is still broken in the face of backlogs, as we
can't really know if an item is really divergent or if it was deleted.
Since we can only diverge with administrator intervention, this is at least
not something we need to worry about _too_ much for now...

17 years agoosd: put pg logs in collection 0, not the pg itself
Sage Weil [Tue, 4 Nov 2008 19:19:35 +0000 (11:19 -0800)]
osd: put pg logs in collection 0, not the pg itself

This avoids having to special case the log object when generating backlog,
etc.

17 years agoosd: fix recovery deferral
Sage Weil [Tue, 4 Nov 2008 19:18:53 +0000 (11:18 -0800)]
osd: fix recovery deferral

17 years agodstart.sh: debug journal
Sage Weil [Tue, 4 Nov 2008 00:54:13 +0000 (16:54 -0800)]
dstart.sh: debug journal

17 years agoosd: mention pgs that do not change during advance_map()
Sage Weil [Tue, 4 Nov 2008 00:53:45 +0000 (16:53 -0800)]
osd: mention pgs that do not change during advance_map()

I was seeing a missed clear_primary_state() for some pgs... not sure why
advance_map() missed them.  Having trouble reproducing.

17 years agojournal: ensure we see a clean sequence of entries on read/replay
Sage Weil [Tue, 4 Nov 2008 00:52:45 +0000 (16:52 -0800)]
journal: ensure we see a clean sequence of entries on read/replay

Only lightly tested, but so far so good.

17 years agomsgr: reorder locking in mark_down()
Sage Weil [Tue, 4 Nov 2008 00:42:22 +0000 (16:42 -0800)]
msgr: reorder locking in mark_down()

There was a strange series of crashes when retaking Pipe::lock inside
stop().  Not exactly sure why, but this simplifies locking slightly, and
behaves.

17 years agodstart.sh: enable lockdep
Sage Weil [Tue, 4 Nov 2008 00:07:45 +0000 (16:07 -0800)]
dstart.sh: enable lockdep

17 years agoosd: fix recursive lock on remove_list_lock
Sage Weil [Tue, 4 Nov 2008 00:05:45 +0000 (16:05 -0800)]
osd: fix recursive lock on remove_list_lock

queue_for_removal() takes the lock inside the loop.

17 years agomsgr: fix recursive locking in mark_down()
Sage Weil [Tue, 4 Nov 2008 00:05:12 +0000 (16:05 -0800)]
msgr: fix recursive locking in mark_down()

pipe::stop() takes the rank lock when it needs it.

17 years agoosd: avoid locking multiple pgs at once
Sage Weil [Mon, 3 Nov 2008 23:55:59 +0000 (15:55 -0800)]
osd: avoid locking multiple pgs at once

This is just to satisfy lockdep.

17 years agolockdep: error out on recursive locks
Sage Weil [Mon, 3 Nov 2008 23:55:14 +0000 (15:55 -0800)]
lockdep: error out on recursive locks

There is no checking between instances, here.. this currently just
assumes that if you take two locks of the same type that that is bad.
(In practice, the caller could do this safely with some care.)

17 years agomutex: non-recursive by default
Sage Weil [Mon, 3 Nov 2008 21:34:11 +0000 (13:34 -0800)]
mutex: non-recursive by default

17 years agomutex: remove nlock assertions
Sage Weil [Mon, 3 Nov 2008 21:24:01 +0000 (13:24 -0800)]
mutex: remove nlock assertions

These do not work when we cond.Wait(lock), because the lock drop via the
Cond wait does not decrement nlock.  Just remove them, they're obvious
anyway.

17 years ago/bin/bash, not /bin/sh
Sage Weil [Mon, 3 Nov 2008 20:38:46 +0000 (12:38 -0800)]
/bin/bash, not /bin/sh

17 years agolockdep: faster
Sage Weil [Mon, 3 Nov 2008 20:37:24 +0000 (12:37 -0800)]
lockdep: faster

17 years agocrun: no let
Sage Weil [Mon, 3 Nov 2008 20:35:40 +0000 (12:35 -0800)]
crun: no let

17 years agolockdep: use static array for dependency map
Sage Weil [Mon, 3 Nov 2008 19:25:32 +0000 (11:25 -0800)]
lockdep: use static array for dependency map

17 years agofakemsgr: missing mutex annotation
Sage Weil [Mon, 3 Nov 2008 18:48:09 +0000 (10:48 -0800)]
fakemsgr: missing mutex annotation

17 years agolockdep: assign numeric ids to each lock type
Sage Weil [Mon, 3 Nov 2008 17:51:23 +0000 (09:51 -0800)]
lockdep: assign numeric ids to each lock type

17 years agolockdep: only track/show held lock backtraces if --lockdep 2
Sage Weil [Mon, 3 Nov 2008 15:31:04 +0000 (07:31 -0800)]
lockdep: only track/show held lock backtraces if --lockdep 2

17 years agoreopen log files on usespace daemons when getting a HUP signal
Yehuda Sadeh [Mon, 3 Nov 2008 19:27:33 +0000 (11:27 -0800)]
reopen log files on usespace daemons when getting a HUP signal

17 years agolockdep: BackTrace.h
Sage Weil [Mon, 3 Nov 2008 03:50:07 +0000 (19:50 -0800)]
lockdep: BackTrace.h

17 years agovstartnew.sh: enable lockdep
Sage Weil [Mon, 3 Nov 2008 03:50:00 +0000 (19:50 -0800)]
vstartnew.sh: enable lockdep

17 years agomsgr: fix lock ordering on accept()
Sage Weil [Mon, 3 Nov 2008 03:49:20 +0000 (19:49 -0800)]
msgr: fix lock ordering on accept()

17 years agolockdep: fix include
Sage Weil [Mon, 3 Nov 2008 03:46:55 +0000 (19:46 -0800)]
lockdep: fix include

17 years agoebofs: avoid taking mutex recursively
Sage Weil [Mon, 3 Nov 2008 03:46:00 +0000 (19:46 -0800)]
ebofs: avoid taking mutex recursively

17 years agolockdep: disable on _dout_lock
Sage Weil [Sat, 1 Nov 2008 00:13:13 +0000 (17:13 -0700)]
lockdep: disable on _dout_lock

17 years agolockdep: include Mutex.cc
Sage Weil [Sat, 1 Nov 2008 00:10:06 +0000 (17:10 -0700)]
lockdep: include Mutex.cc

17 years agolockdep: disable on per-mutex basis (and do so for atomic_t)
Sage Weil [Sat, 1 Nov 2008 00:05:08 +0000 (17:05 -0700)]
lockdep: disable on per-mutex basis (and do so for atomic_t)

You should disable it if you _know_ you are an inner mutex, and
will never try to acquire another lock while you are held.

17 years agolockdep: enable with '--lockdep 1', off by default.
Sage Weil [Fri, 31 Oct 2008 23:46:39 +0000 (16:46 -0700)]
lockdep: enable with '--lockdep 1', off by default.

17 years agolockdep: make it work
Sage Weil [Fri, 31 Oct 2008 23:17:01 +0000 (16:17 -0700)]
lockdep: make it work

17 years agolockdep: annotate Mutex declarations
Sage Weil [Fri, 31 Oct 2008 22:01:09 +0000 (15:01 -0700)]
lockdep: annotate Mutex declarations

17 years agomsgr: set lossy flag on connect attempt
Sage Weil [Fri, 31 Oct 2008 23:47:23 +0000 (16:47 -0700)]
msgr: set lossy flag on connect attempt

17 years agokclient: style, tabs
Sage Weil [Fri, 31 Oct 2008 20:12:51 +0000 (13:12 -0700)]
kclient: style, tabs

17 years agocrush: no debug output
Sage Weil [Fri, 31 Oct 2008 23:33:54 +0000 (16:33 -0700)]
crush: no debug output

17 years agocrush: dprintk lameness
Sage Weil [Fri, 31 Oct 2008 21:57:32 +0000 (14:57 -0700)]
crush: dprintk lameness

17 years agocrush todos
Sage Weil [Fri, 31 Oct 2008 21:09:51 +0000 (14:09 -0700)]
crush todos

17 years agocrush: fall back to a linear search if pseudorandom mapping isn't finding anything
Sage Weil [Fri, 31 Oct 2008 21:09:22 +0000 (14:09 -0700)]
crush: fall back to a linear search if pseudorandom mapping isn't finding anything

17 years agocrush todo
Sage Weil [Fri, 31 Oct 2008 19:49:34 +0000 (12:49 -0700)]
crush todo

17 years agodstart.sh: use chooseleaf for data, cas crush rules
Sage Weil [Fri, 31 Oct 2008 19:48:51 +0000 (12:48 -0700)]
dstart.sh: use chooseleaf for data, cas crush rules

17 years agocrush: fix list bucket, chooseleaf behavior
Sage Weil [Fri, 31 Oct 2008 19:48:30 +0000 (12:48 -0700)]
crush: fix list bucket, chooseleaf behavior

17 years agoosdmaptool: test pg mapping
Sage Weil [Fri, 31 Oct 2008 18:53:17 +0000 (11:53 -0700)]
osdmaptool: test pg mapping

17 years agomakefile: make --with-debug work, fix build errors
Sage Weil [Fri, 31 Oct 2008 18:52:25 +0000 (11:52 -0700)]
makefile: make --with-debug work, fix build errors

17 years agoosd: report pg osds, osd peers to pgmonitor; include in pg dump
Sage Weil [Fri, 31 Oct 2008 17:43:48 +0000 (10:43 -0700)]
osd: report pg osds, osd peers to pgmonitor; include in pg dump

17 years agokclient: keep a pointer to the current snap context in the inode
Yehuda Sadeh [Fri, 31 Oct 2008 18:07:23 +0000 (11:07 -0700)]
kclient: keep a pointer to the current snap context in the inode