]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
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
Sage Weil [Mon, 20 Apr 2009 16:54:47 +0000 (09:54 -0700)]
mds: make is_waiter_for() efficient, maskable
Sage Weil [Mon, 20 Apr 2009 16:32:54 +0000 (09:32 -0700)]
mds: kill unused purging xlist
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%
Sage Weil [Mon, 20 Apr 2009 14:23:41 +0000 (07:23 -0700)]
debug: fix memory leak
Sage Weil [Mon, 20 Apr 2009 14:21:21 +0000 (07:21 -0700)]
logger: fix memory leak (kill timer on shutdown)
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.
Sage Weil [Mon, 20 Apr 2009 14:00:12 +0000 (07:00 -0700)]
buffer: cleanups
Sage Weil [Mon, 20 Apr 2009 13:59:25 +0000 (06:59 -0700)]
atomic: use a spinlock instead of a mutex
Sage Weil [Mon, 20 Apr 2009 13:59:01 +0000 (06:59 -0700)]
spinlock: add support for pthread spinlocks
Sage Weil [Sun, 19 Apr 2009 04:13:02 +0000 (21:13 -0700)]
vstart: valgrind select components; make tool + args selectable
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.
Sage Weil [Sun, 19 Apr 2009 03:11:55 +0000 (20:11 -0700)]
mds: delete mds on shutdown
Aids memory leak detection.
Sage Weil [Sat, 18 Apr 2009 23:58:26 +0000 (16:58 -0700)]
journaler: put magic in journal headers
Sage Weil [Sat, 18 Apr 2009 23:57:53 +0000 (16:57 -0700)]
mds: fix root fullbit memory leak
Sage Weil [Sat, 18 Apr 2009 23:57:31 +0000 (16:57 -0700)]
buffer: make hexdump non-inline
Yehuda Sadeh [Fri, 17 Apr 2009 23:41:59 +0000 (16:41 -0700)]
kclient: fix blob size initalization
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...
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..
Sage Weil [Fri, 17 Apr 2009 22:57:33 +0000 (15:57 -0700)]
mds: avoid dup locallock wrlocks
Yehuda Sadeh [Fri, 17 Apr 2009 23:00:36 +0000 (16:00 -0700)]
kclient: reorder setxattr to avoid race
Yehuda Sadeh [Fri, 17 Apr 2009 19:46:41 +0000 (12:46 -0700)]
kclient: removexattr marks inode dirty when required
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.
Sage Weil [Fri, 17 Apr 2009 18:28:28 +0000 (11:28 -0700)]
mds: rewrite scatter_tempsync
Recall caps, among other things.
Sage Weil [Fri, 17 Apr 2009 18:10:19 +0000 (11:10 -0700)]
vstart: selectively run mds through valgrind
Sage Weil [Fri, 17 Apr 2009 18:10:10 +0000 (11:10 -0700)]
mds: drop unused mdr->cap
Sage Weil [Fri, 17 Apr 2009 18:02:53 +0000 (11:02 -0700)]
mds: remove debug msg
Sage Weil [Fri, 17 Apr 2009 17:30:27 +0000 (10:30 -0700)]
kclient: helpers for mount options
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
Sage Weil [Fri, 17 Apr 2009 17:17:30 +0000 (10:17 -0700)]
mds: init var
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.
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.
Sage Weil [Fri, 17 Apr 2009 16:36:44 +0000 (09:36 -0700)]
mds: fix snap.c debug prefix
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.
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.)
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
Sage Weil [Fri, 17 Apr 2009 15:44:46 +0000 (08:44 -0700)]
kclient: fix up cap timeouts
Sage Weil [Fri, 17 Apr 2009 15:44:31 +0000 (08:44 -0700)]
mds, kclient: fix issue_seq vs seq, limit dup cap messages
Sage Weil [Fri, 17 Apr 2009 14:35:52 +0000 (07:35 -0700)]
mds: consolidate calls to issue_caps
Yehuda Sadeh [Thu, 16 Apr 2009 23:01:50 +0000 (16:01 -0700)]
kclient: silence down log messages
Yehuda Sadeh [Thu, 16 Apr 2009 22:48:45 +0000 (15:48 -0700)]
kclient: add missing initialization
Yehuda Sadeh [Thu, 16 Apr 2009 22:45:14 +0000 (15:45 -0700)]
kclient: fix xattrs cap message
Yehuda Sadeh [Thu, 16 Apr 2009 21:46:22 +0000 (14:46 -0700)]
kclient: merge asyncxattr
Yehuda Sadeh [Thu, 16 Apr 2009 20:39:37 +0000 (13:39 -0700)]
kclient: refactor setxattr, listxattr
Yehuda Sadeh [Thu, 16 Apr 2009 17:20:09 +0000 (10:20 -0700)]
kclient: fix removexattr
Yehuda Sadeh [Wed, 15 Apr 2009 23:20:02 +0000 (16:20 -0700)]
kclient: fix some leaks
Yehuda Sadeh [Wed, 15 Apr 2009 23:01:06 +0000 (16:01 -0700)]
kclient: xattrs, selective rb erasing, fix tree tear down
Yehuda Sadeh [Wed, 15 Apr 2009 22:12:05 +0000 (15:12 -0700)]
kclient: make listxattr actually work
Yehuda Sadeh [Wed, 15 Apr 2009 21:24:53 +0000 (14:24 -0700)]
kclient: xattr name length fixes
Yehuda Sadeh [Wed, 15 Apr 2009 21:00:29 +0000 (14:00 -0700)]
kclient: initialize xattrs version
Yehuda Sadeh [Wed, 15 Apr 2009 18:43:47 +0000 (11:43 -0700)]
kclient: send xattr name on setxattr
Yehuda Sadeh [Wed, 15 Apr 2009 17:37:19 +0000 (10:37 -0700)]
kclient: verbose xattrs
Yehuda Sadeh [Tue, 14 Apr 2009 23:58:15 +0000 (16:58 -0700)]
kclient: list, get cached xattrs
Yehuda Sadeh [Tue, 14 Apr 2009 22:12:38 +0000 (15:12 -0700)]
kclient: don't copy null xattrs blob
Yehuda Sadeh [Tue, 14 Apr 2009 22:11:27 +0000 (15:11 -0700)]
kclient: send xattrs blob when dropping xattr rdcache
Yehuda Sadeh [Mon, 13 Apr 2009 23:39:11 +0000 (16:39 -0700)]
kclient: preallocated buffer for the xattr blob
Yehuda Sadeh [Mon, 13 Apr 2009 20:07:26 +0000 (13:07 -0700)]
kclient: xattrs cleanup, preallocate xattr structure
Yehuda Sadeh [Fri, 10 Apr 2009 23:37:52 +0000 (16:37 -0700)]
kclient: don't rebuild xattr rbtree if exists
Yehuda Sadeh [Fri, 10 Apr 2009 23:36:34 +0000 (16:36 -0700)]
kclient: fix some more xattr stuff, basic stuff works
Yehuda Sadeh [Fri, 10 Apr 2009 23:01:55 +0000 (16:01 -0700)]
kclient: some more xattr fixes
Yehuda Sadeh [Fri, 10 Apr 2009 22:54:38 +0000 (15:54 -0700)]
kclient: xattr initalization and bug fixes
Yehuda Sadeh [Fri, 10 Apr 2009 22:24:52 +0000 (15:24 -0700)]
kclient: xattr uses rbtree for indexing
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
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.
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.
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
Sage Weil [Wed, 15 Apr 2009 22:18:06 +0000 (15:18 -0700)]
mds: trim cache during tick, not every request
More efficient
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
Sage Weil [Wed, 15 Apr 2009 22:04:28 +0000 (15:04 -0700)]
context: return error from C_Gather
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.
Sage Weil [Wed, 15 Apr 2009 21:24:33 +0000 (14:24 -0700)]
mds: count caps, inodes with caps
Sage Weil [Wed, 15 Apr 2009 20:59:09 +0000 (13:59 -0700)]
todo
Sage Weil [Wed, 15 Apr 2009 20:58:55 +0000 (13:58 -0700)]
kclient: fix up dcache readdir
Code should behave with frags and seeks, though both are untested :).
Yehuda Sadeh [Wed, 15 Apr 2009 21:01:38 +0000 (14:01 -0700)]
kclient: initialize xattrs version
Yehuda Sadeh [Wed, 15 Apr 2009 19:45:50 +0000 (12:45 -0700)]
kclient: send xattr name in setxattr
Sage Weil [Wed, 15 Apr 2009 14:53:41 +0000 (07:53 -0700)]
uclient: make O_CREAT work
Sage Weil [Tue, 14 Apr 2009 16:20:36 +0000 (09:20 -0700)]
kclient: do readdir from dcache when possible
If we have I_COMPLETE, do a readdir straight from the dcache. When
we do a readdir prepopulate, reorder parent->d_subdirs to match the
mds order, so that the dcache readdir order matches.
Some wonkiness here to detect the end of directory. There is also
some inconsistency if the directory changes mid-readdir and we
have to switch back to talking to the mds.
Sage Weil [Tue, 14 Apr 2009 20:45:28 +0000 (13:45 -0700)]
filestore: clean up attr name, path buffer lengths
Sage Weil [Tue, 14 Apr 2009 19:45:28 +0000 (12:45 -0700)]
filestore: make path buffers longer
Sage Weil [Tue, 14 Apr 2009 15:24:54 +0000 (08:24 -0700)]
scripts: fix mds and osd request latency checkers
Sage Weil [Tue, 14 Apr 2009 15:04:28 +0000 (08:04 -0700)]
mds: flush log in do_cap_update if there are unissued but wanted caps
Sage Weil [Tue, 14 Apr 2009 15:00:48 +0000 (08:00 -0700)]
mds: issue caps as needed in xlock_finish
We don't leave xlockdone via eval_gather, so we need a special call
to issue_caps.
Sage Weil [Tue, 14 Apr 2009 14:51:48 +0000 (07:51 -0700)]
debug: make log symlinks relative if dirs match
Sage Weil [Tue, 14 Apr 2009 14:44:14 +0000 (07:44 -0700)]
mds: eval_gather on cap removal
This fixes a purge_stray problem with a lingering auth_pin (due
to an unstable lock).
Sage Weil [Tue, 14 Apr 2009 14:29:38 +0000 (07:29 -0700)]
mds: never issue caps in file_eval
We should do it explicitly when it is appropriate. Normally, that's
in eval_gather(), or when caps wanted changes, or something
similar.
When we explicitly issue caps, avoid scanning the whole list when
possible.
Sage Weil [Tue, 14 Apr 2009 13:48:51 +0000 (06:48 -0700)]
mds: hide stray dentries and inodes that are purging
Otherwise we get unwanted references when the inode is supposed to
die.
Sage Weil [Mon, 13 Apr 2009 17:04:36 +0000 (10:04 -0700)]
mds: reorder some code
Sage Weil [Mon, 13 Apr 2009 16:35:30 +0000 (09:35 -0700)]
mds: use rdlock_path_* for rename; fix helper paths
Sage Weil [Mon, 13 Apr 2009 14:09:52 +0000 (07:09 -0700)]
mds: make dn vec accurate after rdlock_path_xlock_dentry
Sage Weil [Sun, 12 Apr 2009 21:49:51 +0000 (14:49 -0700)]
mds: store up to two paths in MDRequest; generalize rdlock_path_*
Eventually we want to use those helpers for _both_ arguments of rename,
link.
Sage Weil [Sun, 12 Apr 2009 21:24:21 +0000 (14:24 -0700)]
mds: kill mdr->ref_snapdiri
The client handles the nosnap->snap namespace transition.
Sage Weil [Sun, 12 Apr 2009 21:19:45 +0000 (14:19 -0700)]
mds: move done_locking into acquire_locks
Be consistent.
Sage Weil [Sun, 12 Apr 2009 21:12:13 +0000 (14:12 -0700)]
mds: acquire_locks in callers, not rdlock_path_* helpers
This way we only call acquire_locks from one place, and avoid weird lock
reordering issues.
Sage Weil [Sat, 11 Apr 2009 21:55:09 +0000 (14:55 -0700)]
mds: refactor path_traverse, callers
Mainly, we want path_traverse to do the work of giving us back the inode
the final dentry links to. Simplify callers to use it.
Sage Weil [Sat, 11 Apr 2009 21:13:41 +0000 (14:13 -0700)]
todo
Sage Weil [Mon, 13 Apr 2009 17:19:47 +0000 (10:19 -0700)]
vstart: behave a bit better when sudoing
Sage Weil [Mon, 13 Apr 2009 17:16:24 +0000 (10:16 -0700)]
kclient: allocate cap releases outside of spinlock
Sage Weil [Fri, 10 Apr 2009 22:59:11 +0000 (15:59 -0700)]
kclient: use FLUSH cap op on cap writeback
This is just to make the message logs easier to read. The only
real distinction is that a FLUSH won't release caps, only write
dirty ones back.
Sage Weil [Fri, 10 Apr 2009 21:03:02 +0000 (14:03 -0700)]
kclient: only check auth cap for WRBUFFER, max_size checks
Sage Weil [Fri, 10 Apr 2009 20:57:32 +0000 (13:57 -0700)]
kclient: switch check_caps interface to use flags field