]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: eval_caps on cap removal
Sage Weil [Wed, 22 Apr 2009 18:35:57 +0000 (11:35 -0700)]
mds: eval_caps on cap removal

16 years agojournaler: fix flush bug
Sage Weil [Wed, 22 Apr 2009 22:55:49 +0000 (15:55 -0700)]
journaler: fix flush bug

Fixes problem with aec1203d8502ad9b8583b53e55491f3a43309b97

Also uses decode for entry sizes (endian-safe!).

16 years agomon: avoid duplicate log entries
Sage Weil [Wed, 22 Apr 2009 22:35:36 +0000 (15:35 -0700)]
mon: avoid duplicate log entries

Also avoid dumping the whole log on 'ceph -w' startup.

16 years agokclient: some sparse fixes
Yehuda Sadeh [Wed, 22 Apr 2009 19:10:24 +0000 (12:10 -0700)]
kclient: some sparse fixes

16 years agokclient: stat -> getattr
Yehuda Sadeh [Wed, 22 Apr 2009 17:47:24 +0000 (10:47 -0700)]
kclient: stat -> getattr

16 years agomds: clean up mds args (rename stat -> getattr)
Sage Weil [Wed, 22 Apr 2009 17:13:21 +0000 (10:13 -0700)]
mds: clean up mds args (rename stat -> getattr)

16 years agotodo
Sage Weil [Tue, 21 Apr 2009 23:48:59 +0000 (16:48 -0700)]
todo

16 years agomds: consolidate loner checks
Sage Weil [Tue, 21 Apr 2009 23:26:15 +0000 (16:26 -0700)]
mds: consolidate loner checks

We want to set the loner before eval'ing locks, and drop loner after
eval'ing (after each has a chance to move out of EXCL).  We also need to
drop loner in each eval so that an individual wrlock drop will do the
right thing.

Still not perfect, but better.

16 years agomds: fix get_caps_issued shift/mask bug
Sage Weil [Tue, 21 Apr 2009 23:24:21 +0000 (16:24 -0700)]
mds: fix get_caps_issued shift/mask bug

16 years agouclient: do local lookups if FILE_RDCACHE on dir and rdcache_gen matches
Sage Weil [Tue, 21 Apr 2009 23:23:42 +0000 (16:23 -0700)]
uclient: do local lookups if FILE_RDCACHE on dir and rdcache_gen matches

16 years agokclient: requeue inode whenever we dirty (use) EXCL|WR caps.
Sage Weil [Tue, 21 Apr 2009 22:12:39 +0000 (15:12 -0700)]
kclient: requeue inode whenever we dirty (use) EXCL|WR caps.

16 years agokclient: queue cap or delayed check if we get unwanted WR|EXCL caps
Sage Weil [Tue, 21 Apr 2009 22:12:06 +0000 (15:12 -0700)]
kclient: queue cap or delayed check if we get unwanted WR|EXCL caps

This ensures we eventually release unwanted WR|EXCL caps.

16 years agokclient: fix delayed counter in check_caps
Sage Weil [Tue, 21 Apr 2009 22:11:25 +0000 (15:11 -0700)]
kclient: fix delayed counter in check_caps

Fix things so we are actually checking whether we delayed a release or
not, so we can act accordingly (by de- or re-scheduling the delayed
cap check).

16 years agojournaler: write out objects as we complete them
Sage Weil [Mon, 20 Apr 2009 23:56:54 +0000 (16:56 -0700)]
journaler: write out objects as we complete them

No reason to delay the write (except maybe to debug log flush()
calls in the MDS).

16 years agotodo
Sage Weil [Mon, 20 Apr 2009 23:23:47 +0000 (16:23 -0700)]
todo

16 years agocosd: conf changes
Sage Weil [Mon, 20 Apr 2009 23:15:46 +0000 (16:15 -0700)]
cosd: conf changes

16 years agomds: finish waiters for root (fixes mds recovery)
Sage Weil [Mon, 20 Apr 2009 23:15:22 +0000 (16:15 -0700)]
mds: finish waiters for root (fixes mds recovery)

16 years agomds: only delete mds on clean shutdown
Sage Weil [Mon, 20 Apr 2009 23:14:52 +0000 (16:14 -0700)]
mds: only delete mds on clean shutdown

This avoids bad asserts on suicide, but still lets us find memory leaks
on clean shutdowns.

16 years agotrivial cleanups
Sage Weil [Mon, 20 Apr 2009 22:54:49 +0000 (15:54 -0700)]
trivial cleanups

16 years agomon: replace mds even if state < 0
Sage Weil [Mon, 20 Apr 2009 22:18:19 +0000 (15:18 -0700)]
mon: replace mds even if state < 0

That conditional test was from before we redid the mds states

16 years agoinit: killall || true
Sage Weil [Mon, 20 Apr 2009 22:17:48 +0000 (15:17 -0700)]
init: killall || true

16 years agoconfig: set g_daemon flag; only create pid file is daemon (even if in foreground)
Sage Weil [Mon, 20 Apr 2009 22:17:13 +0000 (15:17 -0700)]
config: set g_daemon flag; only create pid file is daemon (even if in foreground)

16 years agocosd.conf: more disks
Sage Weil [Mon, 20 Apr 2009 20:34:45 +0000 (13:34 -0700)]
cosd.conf: more disks

16 years agomkcephfs: modprobe btrfs; create mount point earlier
Sage Weil [Mon, 20 Apr 2009 20:34:17 +0000 (13:34 -0700)]
mkcephfs: modprobe btrfs; create mount point earlier

16 years agospinlock: pass 0, not NULL
Sage Weil [Mon, 20 Apr 2009 18:28:08 +0000 (11:28 -0700)]
spinlock: pass 0, not NULL

16 years agokclient: drop i_lock over dput in dcache_readdir
Sage Weil [Mon, 20 Apr 2009 17:43:19 +0000 (10:43 -0700)]
kclient: drop i_lock over dput in dcache_readdir

16 years agokclient: preserve dentry readdir offset during a rename
Sage Weil [Mon, 20 Apr 2009 17:36:46 +0000 (10:36 -0700)]
kclient: preserve dentry readdir offset during a rename

Move the overwritten dentry's readdir offset to the old (renamed,
d_moved) dentry.

16 years agotodo
Sage Weil [Mon, 20 Apr 2009 17:22:04 +0000 (10:22 -0700)]
todo

16 years agomds: avoid journal flush on max_size decrease; clean up some flush checks
Sage Weil [Mon, 20 Apr 2009 17:14:31 +0000 (10:14 -0700)]
mds: avoid journal flush on max_size decrease; clean up some flush checks

16 years agomds: make is_waiter_for() efficient, maskable
Sage Weil [Mon, 20 Apr 2009 16:54:47 +0000 (09:54 -0700)]
mds: make is_waiter_for() efficient, maskable

16 years agomds: kill unused purging xlist
Sage Weil [Mon, 20 Apr 2009 16:32:54 +0000 (09:32 -0700)]
mds: kill unused purging xlist

16 years agomds: move leases to dentry only; use map instead of hash_map
Sage Weil [Mon, 20 Apr 2009 16:31:39 +0000 (09:31 -0700)]
mds: move leases to dentry only; use map instead of hash_map

This lowers mds memory usage by about 20%

16 years agodebug: fix memory leak
Sage Weil [Mon, 20 Apr 2009 14:23:41 +0000 (07:23 -0700)]
debug: fix memory leak

16 years agologger: fix memory leak (kill timer on shutdown)
Sage Weil [Mon, 20 Apr 2009 14:21:21 +0000 (07:21 -0700)]
logger: fix memory leak (kill timer on shutdown)

16 years agokclient: move igrab, __mark_inode_dirty into __ceph_mark_dirty_caps
Sage Weil [Mon, 20 Apr 2009 14:10:23 +0000 (07:10 -0700)]
kclient: move igrab, __mark_inode_dirty into __ceph_mark_dirty_caps

Also be sure to __mark_inode_dirty(inode, I_DIRTY_DATASYNC) when
we dirty FILE_WRBUFFER.

16 years agobuffer: cleanups
Sage Weil [Mon, 20 Apr 2009 14:00:12 +0000 (07:00 -0700)]
buffer: cleanups

16 years agoatomic: use a spinlock instead of a mutex
Sage Weil [Mon, 20 Apr 2009 13:59:25 +0000 (06:59 -0700)]
atomic: use a spinlock instead of a mutex

16 years agospinlock: add support for pthread spinlocks
Sage Weil [Mon, 20 Apr 2009 13:59:01 +0000 (06:59 -0700)]
spinlock: add support for pthread spinlocks

16 years agovstart: valgrind select components; make tool + args selectable
Sage Weil [Sun, 19 Apr 2009 04:13:02 +0000 (21:13 -0700)]
vstart: valgrind select components; make tool + args selectable

16 years agomds: kill unused cap updating field
Sage Weil [Sun, 19 Apr 2009 04:02:35 +0000 (21:02 -0700)]
mds: kill unused cap updating field

It was used to avoid cap release from occuring while cap flush/writeback
is happening, bc there is a cap pointer in the completion.  But the client
shouldn't be releasing a cap that is being written back in the first place.

16 years agomds: delete mds on shutdown
Sage Weil [Sun, 19 Apr 2009 03:11:55 +0000 (20:11 -0700)]
mds: delete mds on shutdown

Aids memory leak detection.

16 years agojournaler: put magic in journal headers
Sage Weil [Sat, 18 Apr 2009 23:58:26 +0000 (16:58 -0700)]
journaler: put magic in journal headers

16 years agomds: fix root fullbit memory leak
Sage Weil [Sat, 18 Apr 2009 23:57:53 +0000 (16:57 -0700)]
mds: fix root fullbit memory leak

16 years agobuffer: make hexdump non-inline
Sage Weil [Sat, 18 Apr 2009 23:57:31 +0000 (16:57 -0700)]
buffer: make hexdump non-inline

16 years agokclient: fix blob size initalization
Yehuda Sadeh [Fri, 17 Apr 2009 23:41:59 +0000 (16:41 -0700)]
kclient: fix blob size initalization

16 years agomds: add/remove inodes to/from open file list based on wanted caps changes
Sage Weil [Fri, 17 Apr 2009 23:00:50 +0000 (16:00 -0700)]
mds: add/remove inodes to/from open file list based on wanted caps changes

We only want to track "open" files for things the client will have open
file handles for.  The rest we will recover opportunistically...

16 years agomds: fix file_excl() call preconditions
Sage Weil [Fri, 17 Apr 2009 22:59:02 +0000 (15:59 -0700)]
mds: fix file_excl() call preconditions

We could have filelock in LOCK_EXCL but no loner.. maybe..

16 years agomds: avoid dup locallock wrlocks
Sage Weil [Fri, 17 Apr 2009 22:57:33 +0000 (15:57 -0700)]
mds: avoid dup locallock wrlocks

16 years agokclient: reorder setxattr to avoid race
Yehuda Sadeh [Fri, 17 Apr 2009 23:00:36 +0000 (16:00 -0700)]
kclient: reorder setxattr to avoid race

16 years agokclient: removexattr marks inode dirty when required
Yehuda Sadeh [Fri, 17 Apr 2009 19:46:41 +0000 (12:46 -0700)]
kclient: removexattr marks inode dirty when required

16 years agokclient: break I_NODELAY into NODELAY and FLUSH
Sage Weil [Fri, 17 Apr 2009 19:26:44 +0000 (12:26 -0700)]
kclient: break I_NODELAY into NODELAY and FLUSH

FLUSH indicates the inode should be flushed asap.  That is, we
should send a cap message with the dirty metadata.  It's set
by write_inode.

NODELAY means we shouldn't delay our cap/wanted release when we
do send a message.  It's set for unlinked files.

16 years agomds: rewrite scatter_tempsync
Sage Weil [Fri, 17 Apr 2009 18:28:28 +0000 (11:28 -0700)]
mds: rewrite scatter_tempsync

Recall caps, among other things.

16 years agovstart: selectively run mds through valgrind
Sage Weil [Fri, 17 Apr 2009 18:10:19 +0000 (11:10 -0700)]
vstart: selectively run mds through valgrind

16 years agomds: drop unused mdr->cap
Sage Weil [Fri, 17 Apr 2009 18:10:10 +0000 (11:10 -0700)]
mds: drop unused mdr->cap

16 years agomds: remove debug msg
Sage Weil [Fri, 17 Apr 2009 18:02:53 +0000 (11:02 -0700)]
mds: remove debug msg

16 years agokclient: helpers for mount options
Sage Weil [Fri, 17 Apr 2009 17:30:27 +0000 (10:30 -0700)]
kclient: helpers for mount options

16 years agokclient: fix dcache readdir bug; add mount option to turn it off
Sage Weil [Fri, 17 Apr 2009 17:23:21 +0000 (10:23 -0700)]
kclient: fix dcache readdir bug; add mount option to turn it off

16 years agomds: init var
Sage Weil [Fri, 17 Apr 2009 17:17:30 +0000 (10:17 -0700)]
mds: init var

16 years agokclient: setxattr cleanups
Sage Weil [Fri, 17 Apr 2009 17:10:04 +0000 (10:10 -0700)]
kclient: setxattr cleanups

Do dirty stuff inside i_lock.
Reuse retry label after successful allocation.

16 years agomds: issue all caps we can (except RD|WR on dirs)
Sage Weil [Fri, 17 Apr 2009 16:42:56 +0000 (09:42 -0700)]
mds: issue all caps we can (except RD|WR on dirs)

Might as well.

Most importantly, it means we issue EXCL caps on directories that
clients are using.

16 years agomds: fix snap.c debug prefix
Sage Weil [Fri, 17 Apr 2009 16:36:44 +0000 (09:36 -0700)]
mds: fix snap.c debug prefix

16 years agokclient: drop RD, WR caps on file lock setattr
Sage Weil [Fri, 17 Apr 2009 16:36:35 +0000 (09:36 -0700)]
kclient: drop RD, WR caps on file lock setattr

The mds will move to LOCK state, which will revoke them anyway.

16 years agomds: use actual cap wanted, not requested
Sage Weil [Fri, 17 Apr 2009 16:28:11 +0000 (09:28 -0700)]
mds: use actual cap wanted, not requested

(The wanted update doesn't always succeed.)

16 years agomds: allow request_release to update wanted; do so if I_NODELAY
Sage Weil [Fri, 17 Apr 2009 16:15:36 +0000 (09:15 -0700)]
mds: allow request_release to update wanted; do so if I_NODELAY

16 years agokclient: fix up cap timeouts
Sage Weil [Fri, 17 Apr 2009 15:44:46 +0000 (08:44 -0700)]
kclient: fix up cap timeouts

16 years agomds, kclient: fix issue_seq vs seq, limit dup cap messages
Sage Weil [Fri, 17 Apr 2009 15:44:31 +0000 (08:44 -0700)]
mds, kclient: fix issue_seq vs seq, limit dup cap messages

16 years agomds: consolidate calls to issue_caps
Sage Weil [Fri, 17 Apr 2009 14:35:52 +0000 (07:35 -0700)]
mds: consolidate calls to issue_caps

16 years agokclient: silence down log messages
Yehuda Sadeh [Thu, 16 Apr 2009 23:01:50 +0000 (16:01 -0700)]
kclient: silence down log messages

16 years agokclient: add missing initialization
Yehuda Sadeh [Thu, 16 Apr 2009 22:48:45 +0000 (15:48 -0700)]
kclient: add missing initialization

16 years agokclient: fix xattrs cap message
Yehuda Sadeh [Thu, 16 Apr 2009 22:45:14 +0000 (15:45 -0700)]
kclient: fix xattrs cap message

16 years agokclient: merge asyncxattr
Yehuda Sadeh [Thu, 16 Apr 2009 21:46:22 +0000 (14:46 -0700)]
kclient: merge asyncxattr

16 years agokclient: refactor setxattr, listxattr
Yehuda Sadeh [Thu, 16 Apr 2009 20:39:37 +0000 (13:39 -0700)]
kclient: refactor setxattr, listxattr

16 years agokclient: fix removexattr
Yehuda Sadeh [Thu, 16 Apr 2009 17:20:09 +0000 (10:20 -0700)]
kclient: fix removexattr

16 years agokclient: fix some leaks
Yehuda Sadeh [Wed, 15 Apr 2009 23:20:02 +0000 (16:20 -0700)]
kclient: fix some leaks

16 years agokclient: xattrs, selective rb erasing, fix tree tear down
Yehuda Sadeh [Wed, 15 Apr 2009 23:01:06 +0000 (16:01 -0700)]
kclient: xattrs, selective rb erasing, fix tree tear down

16 years agokclient: make listxattr actually work
Yehuda Sadeh [Wed, 15 Apr 2009 22:12:05 +0000 (15:12 -0700)]
kclient: make listxattr actually work

16 years agokclient: xattr name length fixes
Yehuda Sadeh [Wed, 15 Apr 2009 21:24:53 +0000 (14:24 -0700)]
kclient: xattr name length fixes

16 years agokclient: initialize xattrs version
Yehuda Sadeh [Wed, 15 Apr 2009 21:00:29 +0000 (14:00 -0700)]
kclient: initialize xattrs version

16 years agokclient: send xattr name on setxattr
Yehuda Sadeh [Wed, 15 Apr 2009 18:43:47 +0000 (11:43 -0700)]
kclient: send xattr name on setxattr

16 years agokclient: verbose xattrs
Yehuda Sadeh [Wed, 15 Apr 2009 17:37:19 +0000 (10:37 -0700)]
kclient: verbose xattrs

16 years agokclient: list, get cached xattrs
Yehuda Sadeh [Tue, 14 Apr 2009 23:58:15 +0000 (16:58 -0700)]
kclient: list, get cached xattrs

16 years agokclient: don't copy null xattrs blob
Yehuda Sadeh [Tue, 14 Apr 2009 22:12:38 +0000 (15:12 -0700)]
kclient: don't copy null xattrs blob

16 years agokclient: send xattrs blob when dropping xattr rdcache
Yehuda Sadeh [Tue, 14 Apr 2009 22:11:27 +0000 (15:11 -0700)]
kclient: send xattrs blob when dropping xattr rdcache

16 years agokclient: preallocated buffer for the xattr blob
Yehuda Sadeh [Mon, 13 Apr 2009 23:39:11 +0000 (16:39 -0700)]
kclient: preallocated buffer for the xattr blob

16 years agokclient: xattrs cleanup, preallocate xattr structure
Yehuda Sadeh [Mon, 13 Apr 2009 20:07:26 +0000 (13:07 -0700)]
kclient: xattrs cleanup, preallocate xattr structure

16 years agokclient: don't rebuild xattr rbtree if exists
Yehuda Sadeh [Fri, 10 Apr 2009 23:37:52 +0000 (16:37 -0700)]
kclient: don't rebuild xattr rbtree if exists

16 years agokclient: fix some more xattr stuff, basic stuff works
Yehuda Sadeh [Fri, 10 Apr 2009 23:36:34 +0000 (16:36 -0700)]
kclient: fix some more xattr stuff, basic stuff works

16 years agokclient: some more xattr fixes
Yehuda Sadeh [Fri, 10 Apr 2009 23:01:55 +0000 (16:01 -0700)]
kclient: some more xattr fixes

16 years agokclient: xattr initalization and bug fixes
Yehuda Sadeh [Fri, 10 Apr 2009 22:54:38 +0000 (15:54 -0700)]
kclient: xattr initalization and bug fixes

16 years agokclient: xattr uses rbtree for indexing
Yehuda Sadeh [Fri, 10 Apr 2009 22:24:52 +0000 (15:24 -0700)]
kclient: xattr uses rbtree for indexing

16 years agomds: fix CInode::get_caps_wanted to do the shift on returned mask
Sage Weil [Thu, 16 Apr 2009 21:25:59 +0000 (14:25 -0700)]
mds: fix CInode::get_caps_wanted to do the shift on returned mask

16 years agomds: move simplelocks (auth, xattr) to EXCL in simple_eval
Sage Weil [Thu, 16 Apr 2009 21:12:21 +0000 (14:12 -0700)]
mds: move simplelocks (auth, xattr) to EXCL in simple_eval

Also move xattr lock to EXCL state on mkdir, create.

16 years agokclient: assign meaningful readdir offset to client-created dentry
Sage Weil [Wed, 15 Apr 2009 23:30:11 +0000 (16:30 -0700)]
kclient: assign meaningful readdir offset to client-created dentry

Set i_max_offset when I_COMPLETE flag is set.  Thereafter, and local
negative lookups will get the next unused offset.

Not coherent if we fall back to talking to the MDS.

16 years agomds: add mds_max_mem conf item, hook to check memory utilization
Sage Weil [Wed, 15 Apr 2009 23:14:10 +0000 (16:14 -0700)]
mds: add mds_max_mem conf item, hook to check memory utilization

16 years agomds: trim cache during tick, not every request
Sage Weil [Wed, 15 Apr 2009 22:18:06 +0000 (15:18 -0700)]
mds: trim cache during tick, not every request

More efficient

16 years agomds: put mds format magic in root inode, journal; check on start, replay
Sage Weil [Wed, 15 Apr 2009 22:07:04 +0000 (15:07 -0700)]
mds: put mds format magic in root inode, journal; check on start, replay

16 years agocontext: return error from C_Gather
Sage Weil [Wed, 15 Apr 2009 22:04:28 +0000 (15:04 -0700)]
context: return error from C_Gather

16 years agomds: kill rdcaps code
Sage Weil [Wed, 15 Apr 2009 21:29:26 +0000 (14:29 -0700)]
mds: kill rdcaps code

Since caps no longer time out, we no longer need to maintain an rdcaps
lru.  Good riddance.

16 years agomds: count caps, inodes with caps
Sage Weil [Wed, 15 Apr 2009 21:24:33 +0000 (14:24 -0700)]
mds: count caps, inodes with caps

16 years agotodo
Sage Weil [Wed, 15 Apr 2009 20:59:09 +0000 (13:59 -0700)]
todo