]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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

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

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

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

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

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

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

16 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

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

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

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

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

16 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

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

16 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

16 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

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

16 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

16 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

16 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

16 years agokclient: use current snap context if not found
Yehuda Sadeh [Fri, 31 Oct 2008 17:18:00 +0000 (10:18 -0700)]
kclient: use current snap context if not found

16 years agokclient: don't register a new bdi for the same client
Yehuda Sadeh [Thu, 30 Oct 2008 23:35:23 +0000 (16:35 -0700)]
kclient: don't register a new bdi for the same client

16 years agoosd: do all recovery operations in dedicated recovery thread
Sage Weil [Thu, 30 Oct 2008 23:21:33 +0000 (16:21 -0700)]
osd: do all recovery operations in dedicated recovery thread

16 years agodstart.sh: 2x rep only
Sage Weil [Thu, 30 Oct 2008 22:50:46 +0000 (15:50 -0700)]
dstart.sh: 2x rep only

16 years agodstop.sh: stop crun too
Sage Weil [Thu, 30 Oct 2008 22:00:43 +0000 (15:00 -0700)]
dstop.sh: stop crun too

16 years agokclient: override rdcache invalidation time when going down
Yehuda Sadeh [Thu, 30 Oct 2008 22:57:44 +0000 (15:57 -0700)]
kclient: override rdcache invalidation time when going down

16 years agoosd: avoid trimming unless pg is clean; keep recovered_to, complete_to log pointers...
Sage Weil [Thu, 30 Oct 2008 21:23:03 +0000 (14:23 -0700)]
osd: avoid trimming unless pg is clean; keep recovered_to, complete_to log pointers cleared when not in use

16 years agokclient: do LCHOWN, not CHOWN, so that mds does not follow the symlink
Sage Weil [Thu, 30 Oct 2008 21:19:25 +0000 (14:19 -0700)]
kclient: do LCHOWN, not CHOWN, so that mds does not follow the symlink

16 years agokclient: update patch generator
Sage Weil [Thu, 30 Oct 2008 20:01:17 +0000 (13:01 -0700)]
kclient: update patch generator

16 years agomds: fix bad EINVAL error code in unlink
Sage Weil [Thu, 30 Oct 2008 18:48:39 +0000 (11:48 -0700)]
mds: fix bad EINVAL error code in unlink

16 years agokclient: note locked new_dir in ceph_rename
Sage Weil [Thu, 30 Oct 2008 18:48:20 +0000 (11:48 -0700)]
kclient: note locked new_dir in ceph_rename

16 years agomds: fix pre_dirty/mark_dirty order for remote dentries in unlink_local
Sage Weil [Thu, 30 Oct 2008 18:15:55 +0000 (11:15 -0700)]
mds: fix pre_dirty/mark_dirty order for remote dentries in unlink_local

16 years agokclient: use vmalloc for messages larger than one page
Sage Weil [Thu, 30 Oct 2008 18:05:25 +0000 (11:05 -0700)]
kclient: use vmalloc for messages larger than one page

16 years agokclient: make reconnect allocation a bit more generous
Sage Weil [Thu, 30 Oct 2008 18:00:46 +0000 (11:00 -0700)]
kclient: make reconnect allocation a bit more generous

16 years agokclient: remove extra dput on failed rmdir/unlink
Yehuda Sadeh [Wed, 29 Oct 2008 21:38:53 +0000 (14:38 -0700)]
kclient: remove extra dput on failed rmdir/unlink

16 years agoosd: initialize curclone
Sage Weil [Wed, 29 Oct 2008 21:59:35 +0000 (14:59 -0700)]
osd: initialize curclone

16 years agofilestore: fix getattrs return value
Sage Weil [Wed, 29 Oct 2008 21:59:21 +0000 (14:59 -0700)]
filestore: fix getattrs return value

16 years agokclient: fix mds request reference after free bug
Sage Weil [Wed, 29 Oct 2008 21:47:22 +0000 (14:47 -0700)]
kclient: fix mds request reference after free bug

16 years agoRevert "mds: CInode::mark_dirty should then dirty the projected parent inode, if...
Sage Weil [Wed, 29 Oct 2008 21:22:02 +0000 (14:22 -0700)]
Revert "mds: CInode::mark_dirty should then dirty the projected parent inode, if present"

We _shouldn't_ use the projected dentry, only the current dentry, since updates
to this inode may be pipelined with other updates and/or a parent change.  If
we are really doing a rename, fix the parent, _then_ dirty the inode.

This reverts commit 89c635d3ee6038daee352e238d00b94094927571.

16 years agomon: lossless communication between monitors
Sage Weil [Wed, 29 Oct 2008 21:03:05 +0000 (14:03 -0700)]
mon: lossless communication between monitors

16 years agokclient: set r_got_reply _after_ we ensure we have a session
Sage Weil [Wed, 29 Oct 2008 20:58:42 +0000 (13:58 -0700)]
kclient: set r_got_reply _after_ we ensure we have a session

16 years agomds: ClientCaps typo
Sage Weil [Wed, 29 Oct 2008 20:50:27 +0000 (13:50 -0700)]
mds: ClientCaps typo

16 years agomds: eval FileLock after last wrlock releases
Sage Weil [Wed, 29 Oct 2008 20:50:15 +0000 (13:50 -0700)]
mds: eval FileLock after last wrlock releases

16 years agokclient: no cap delay if mdsc->stopping (unmounting)
Sage Weil [Wed, 29 Oct 2008 20:48:57 +0000 (13:48 -0700)]
kclient: no cap delay if mdsc->stopping (unmounting)

16 years agoosd: clean up debug output a bit
Sage Weil [Wed, 29 Oct 2008 19:14:27 +0000 (12:14 -0700)]
osd: clean up debug output a bit

Less chatter about pg stat updates to monitor

16 years agofilestore: don't clobber file on clone_range
Sage Weil [Wed, 29 Oct 2008 19:06:37 +0000 (12:06 -0700)]
filestore: don't clobber file on clone_range

16 years agoosd: initialize clone_overlap on clone
Sage Weil [Wed, 29 Oct 2008 19:05:51 +0000 (12:05 -0700)]
osd: initialize clone_overlap on clone

Initially, the clone overlaps completely with the newer item (head).

16 years agoosd: skip pg log object when generating backlog
Sage Weil [Wed, 29 Oct 2008 18:15:50 +0000 (11:15 -0700)]
osd: skip pg log object when generating backlog

16 years agofilestore: use strtoull (unsigned) instead of strtoll when parsing object names,...
Sage Weil [Wed, 29 Oct 2008 18:15:17 +0000 (11:15 -0700)]
filestore: use strtoull (unsigned) instead of strtoll when parsing object names, etc.

Otherwise we fall over on CEPH_NOSNAP (-2), notably.

16 years agobuffer: print 'no raw' for 'null' bufferptrs
Sage Weil [Wed, 29 Oct 2008 18:13:44 +0000 (11:13 -0700)]
buffer: print 'no raw' for 'null' bufferptrs

Aids debugging...

16 years agoobjectstore: do not include 0-length bufferptr in bufferlist if attr not found
Sage Weil [Wed, 29 Oct 2008 18:13:18 +0000 (11:13 -0700)]
objectstore: do not include 0-length bufferptr in bufferlist if attr not found

Having a "null" bufferptr causes problems in a number of places down the
line.  We want an empty bufferlist instead.

16 years agovstartnew.sh: clean up out/* even if owned by root
Sage Weil [Tue, 28 Oct 2008 23:50:38 +0000 (16:50 -0700)]
vstartnew.sh: clean up out/* even if owned by root

16 years agoosd: sync on shutdown
Sage Weil [Tue, 28 Oct 2008 23:50:17 +0000 (16:50 -0700)]
osd: sync on shutdown

There may be write completion callbacks in flight that depend on what
we're about to tear down.

16 years agoosd: batch pg remove messages, do them all at once
Sage Weil [Tue, 28 Oct 2008 23:49:46 +0000 (16:49 -0700)]
osd: batch pg remove messages, do them all at once

16 years agofilestore: encode transaction only if journaling it
Sage Weil [Tue, 28 Oct 2008 23:48:59 +0000 (16:48 -0700)]
filestore: encode transaction only if journaling it

And do it later.  No need to encode it before applying, now.

16 years agosynclient: mksnapfile to generate a simple multi-snapshot object
Sage Weil [Tue, 28 Oct 2008 23:48:21 +0000 (16:48 -0700)]
synclient: mksnapfile to generate a simple multi-snapshot object

writes 0~4M, takes snapshot, then overwrites 1~2M.

16 years agomds: generate valid seq value on rmsnap
Sage Weil [Tue, 28 Oct 2008 23:31:36 +0000 (16:31 -0700)]
mds: generate valid seq value on rmsnap

16 years agoosd: fix typo on setting complete_to
Sage Weil [Tue, 28 Oct 2008 21:34:58 +0000 (14:34 -0700)]
osd: fix typo on setting complete_to

16 years agoosd: include fsid in MPGStats
Sage Weil [Tue, 28 Oct 2008 20:49:32 +0000 (13:49 -0700)]
osd: include fsid in MPGStats

16 years agobuffer: skip crc calc on zero length bufferptrs
Sage Weil [Tue, 28 Oct 2008 20:47:16 +0000 (13:47 -0700)]
buffer: skip crc calc on zero length bufferptrs

16 years agomds: CInode::mark_dirty should then dirty the projected parent inode, if present
Sage Weil [Tue, 28 Oct 2008 20:59:32 +0000 (13:59 -0700)]
mds: CInode::mark_dirty should then dirty the projected parent inode, if present

16 years agomon: ensure snap doesn't already exist in pending set
Sage Weil [Tue, 28 Oct 2008 20:45:30 +0000 (13:45 -0700)]
mon: ensure snap doesn't already exist in pending set

16 years agokclient: comment on paths for mds ops
Sage Weil [Tue, 28 Oct 2008 20:26:22 +0000 (13:26 -0700)]
kclient: comment on paths for mds ops

16 years agoosd: reduce max_rep to 3 by default
Sage Weil [Mon, 27 Oct 2008 23:07:34 +0000 (16:07 -0700)]
osd: reduce max_rep to 3 by default

16 years agomds: increase max_size based on loner AND other caps
Sage Weil [Mon, 27 Oct 2008 22:22:54 +0000 (15:22 -0700)]
mds: increase max_size based on loner AND other caps

16 years agoMerge branch 'recovery' into unstable
Sage Weil [Mon, 27 Oct 2008 21:02:46 +0000 (14:02 -0700)]
Merge branch 'recovery' into unstable

16 years agoosd: recovery more efficiently keeps N ops in flight
Sage Weil [Mon, 27 Oct 2008 21:01:56 +0000 (14:01 -0700)]
osd: recovery more efficiently keeps N ops in flight

16 years agoobjectcacher: fix commit callback accounting
Sage Weil [Mon, 27 Oct 2008 20:28:43 +0000 (13:28 -0700)]
objectcacher: fix commit callback accounting

16 years agokclient: clean out when generating patches
Sage Weil [Mon, 27 Oct 2008 18:31:38 +0000 (11:31 -0700)]
kclient: clean out when generating patches

16 years agoxlist: implement push_front()
Sage Weil [Mon, 27 Oct 2008 18:53:32 +0000 (11:53 -0700)]
xlist: implement push_front()

16 years agokclient: remove warning due to missing format
Yehuda Sadeh [Mon, 27 Oct 2008 18:49:44 +0000 (11:49 -0700)]
kclient: remove warning due to missing format

16 years agomds: make loner unitialized warning go away
Sage Weil [Mon, 27 Oct 2008 17:32:52 +0000 (10:32 -0700)]
mds: make loner unitialized warning go away

16 years agokclient: bleh
Sage Weil [Mon, 27 Oct 2008 18:23:06 +0000 (11:23 -0700)]
kclient: bleh

16 years agokclient: include documentation in patch queue
Sage Weil [Mon, 27 Oct 2008 18:20:10 +0000 (11:20 -0700)]
kclient: include documentation in patch queue