]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agodstart.sh: larger cluster
Sage Weil [Tue, 11 Nov 2008 23:10:46 +0000 (15:10 -0800)]
dstart.sh: larger cluster

16 years agomds: fix replay lookup of snapshotted null dentries
Sage Weil [Mon, 10 Nov 2008 23:53:26 +0000 (15:53 -0800)]
mds: fix replay lookup of snapshotted null dentries

Look up replayed dentry by dnLAST, not dnfirst, as we do with
primary and remote dentries, because that is how we identify
dentry instances in the timeline.

16 years agoobjecter: fix read scatter/gather
Sage Weil [Mon, 10 Nov 2008 23:46:15 +0000 (15:46 -0800)]
objecter: fix read scatter/gather

16 years agoosd: pass at_version by reference, so that cloning works
Sage Weil [Mon, 10 Nov 2008 23:46:03 +0000 (15:46 -0800)]
osd: pass at_version by reference, so that cloning works

16 years agomds: remove spurious warning
Sage Weil [Mon, 10 Nov 2008 23:45:46 +0000 (15:45 -0800)]
mds: remove spurious warning

16 years agoosd: ignore logs i don't expect without freaking out
Sage Weil [Mon, 10 Nov 2008 23:25:24 +0000 (15:25 -0800)]
osd: ignore logs i don't expect without freaking out

We may get a log we didn't think we requested if the prior_set gets rebuilt
or our peering is restarted for some other reason.  Just ignore it, instead
of asserting.

16 years agoosd: assert length on write, zero
Sage Weil [Mon, 10 Nov 2008 22:43:17 +0000 (14:43 -0800)]
osd: assert length on write, zero

16 years agoobjecter: whoops, do DELETE, not ZERO
Sage Weil [Mon, 10 Nov 2008 22:40:45 +0000 (14:40 -0800)]
objecter: whoops, do DELETE, not ZERO

16 years agoosd: fix typo/bug when picking osd to pull missing object from
Sage Weil [Mon, 10 Nov 2008 21:42:14 +0000 (13:42 -0800)]
osd: fix typo/bug when picking osd to pull missing object from

16 years agoosd: fix missing vs lost counting idiocy
Sage Weil [Mon, 10 Nov 2008 21:41:48 +0000 (13:41 -0800)]
osd: fix missing vs lost counting idiocy

16 years agofilestore: cope with zero-length attribute values
Sage Weil [Mon, 10 Nov 2008 21:40:59 +0000 (13:40 -0800)]
filestore: cope with zero-length attribute values

16 years agoebofs: cope with zero-length attribute values
Sage Weil [Mon, 10 Nov 2008 21:40:50 +0000 (13:40 -0800)]
ebofs: cope with zero-length attribute values

16 years agoosd: use modify flag to decide whether to take read fast path
Sage Weil [Mon, 10 Nov 2008 18:55:10 +0000 (10:55 -0800)]
osd: use modify flag to decide whether to take read fast path

16 years agokclient: fix up writes, reads for new op structure
Sage Weil [Mon, 10 Nov 2008 18:37:41 +0000 (10:37 -0800)]
kclient: fix up writes, reads for new op structure

Make sure osdc_readpages still returns bytes read, even though the
overall message result does not (pull it from the op.length).

Set MODIFY flag.

16 years agoosd: MODIFY is a flag; fix up op_read
Sage Weil [Mon, 10 Nov 2008 18:36:24 +0000 (10:36 -0800)]
osd: MODIFY is a flag; fix up op_read

16 years agoosd: simple higher-order append mutation
Sage Weil [Mon, 10 Nov 2008 17:46:53 +0000 (09:46 -0800)]
osd: simple higher-order append mutation

16 years agokclient: fix osd reply handler sanity check
Sage Weil [Mon, 10 Nov 2008 04:21:43 +0000 (20:21 -0800)]
kclient: fix osd reply handler sanity check

16 years agoobjecter: destructively take ops[], bufferlist passed to read(), modify().
Sage Weil [Mon, 10 Nov 2008 04:15:57 +0000 (20:15 -0800)]
objecter: destructively take ops[], bufferlist passed to read(), modify().

Small optimization.

16 years agomds: set path attr on directory objects
Sage Weil [Mon, 10 Nov 2008 04:12:20 +0000 (20:12 -0800)]
mds: set path attr on directory objects

16 years agoosd: object attr operations
Sage Weil [Mon, 10 Nov 2008 04:11:57 +0000 (20:11 -0800)]
osd: object attr operations

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

16 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)

16 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

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

16 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).

16 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.

16 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

16 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.

16 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

16 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

16 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

16 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

16 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

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

16 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

16 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.

16 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.

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

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

16 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

16 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

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

16 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

16 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

16 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.

16 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

16 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

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

16 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)

16 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

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

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

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

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

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

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

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

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

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

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

16 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

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

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

16 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

16 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.

16 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.

16 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.

16 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

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

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

16 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

16 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

16 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

16 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...

16 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.

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

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

16 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.

16 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.

16 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.

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

16 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.

16 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.

16 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.

16 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.)

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

16 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.

16 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

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

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

16 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

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

16 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

16 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

16 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

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

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

16 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()

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

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