]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Thu, 27 Aug 2009 16:14:15 +0000 (09:14 -0700)]
kclient: fail con->ops->get() if ref count is zero, and avoid requeueing work
This fixes a bug where a socket status change races with con_destroy:
ref 1 -> 0
con_destroy()
sock state change, requeue
destroy socket
kfree(con)
...do work and crash...
Sage Weil [Thu, 27 Aug 2009 00:57:42 +0000 (17:57 -0700)]
kclient: handle osd resets, timeouts, etc.
Sage Weil [Thu, 27 Aug 2009 00:30:54 +0000 (17:30 -0700)]
kclient: remove connection tracking from msgr
Sage Weil [Thu, 27 Aug 2009 00:18:47 +0000 (17:18 -0700)]
kclient: use a per-connection ops vector
Sage Weil [Wed, 26 Aug 2009 22:49:42 +0000 (15:49 -0700)]
kclient: use per-connectino peer_reset callback
Sage Weil [Wed, 26 Aug 2009 22:39:20 +0000 (15:39 -0700)]
kclient: use connection api for osdc (almost, no kick or timeout)
Sage Weil [Wed, 26 Aug 2009 22:38:27 +0000 (15:38 -0700)]
msgr: handle keepalive
Sage Weil [Wed, 26 Aug 2009 18:51:58 +0000 (11:51 -0700)]
kclient: use connection msgr api for mon client
Sage Weil [Wed, 26 Aug 2009 18:02:31 +0000 (11:02 -0700)]
kclient: use connection msgr api for mds
Sage Weil [Wed, 26 Aug 2009 18:02:13 +0000 (11:02 -0700)]
kclient: add explicit connection-based api
Sage Weil [Wed, 26 Aug 2009 17:42:45 +0000 (10:42 -0700)]
msgr: fix policy setting
Sage Weil [Tue, 25 Aug 2009 23:49:28 +0000 (16:49 -0700)]
kclient: factor out connection creation; add con_send, con_keepalive
Mmm, much cleaner so far!
Sage Weil [Tue, 25 Aug 2009 23:23:47 +0000 (16:23 -0700)]
kclient: periodically ping mds's
Sage Weil [Tue, 25 Aug 2009 23:23:35 +0000 (16:23 -0700)]
kclient: do not accept connections in messager (client only!)
This rips out a lot of code, yay!
Sage Weil [Tue, 25 Aug 2009 23:23:04 +0000 (16:23 -0700)]
msgr: server flag to avoid connecting to peer
If we have a message and no socket and server=true, just queue it
up. When they connect to us they'll get it.
Sage Weil [Tue, 25 Aug 2009 23:22:14 +0000 (16:22 -0700)]
mds: handle ping
Sage Weil [Wed, 26 Aug 2009 19:32:55 +0000 (12:32 -0700)]
kclient: fix bad kfree on kmem_cache cap
Sage Weil [Tue, 25 Aug 2009 21:56:23 +0000 (14:56 -0700)]
mds: update dir parent pointer on rename
Maintain per-segment list and inode flag for this purpose.
Flush out changes on log segment trim.
Also remove from renamed list if we commit first frag (which also
writes a parent pointer each time).
Sage Weil [Tue, 25 Aug 2009 21:07:23 +0000 (14:07 -0700)]
mds: factor inode parent pointer encoding out of CDir commit
We'll use it to adjust the xattr when a file is renamed, too.
Sage Weil [Mon, 24 Aug 2009 22:27:29 +0000 (15:27 -0700)]
uclient: don't croak on flush_set_callback on nonexistant ino
Not sure where this is happening exactly.. :/
Sage Weil [Mon, 24 Aug 2009 21:02:01 +0000 (14:02 -0700)]
mds: propagate scatterlock data w/o changing lock state in scatter_nudge
If we can take the wrlock already, there's no need to adjust the
lock state... just call scatter_writebehind.
Sage Weil [Mon, 24 Aug 2009 21:01:14 +0000 (14:01 -0700)]
mds: avoid propagating nestlock more frequently than mds_dirstat_min_interval
Instead, add the lock to the update_scatterlock list, as usual.
Sage Weil [Mon, 24 Aug 2009 19:45:48 +0000 (12:45 -0700)]
mds: kill SimpleLock::wait_shift
It's a function of lock type.
Sage Weil [Mon, 24 Aug 2009 18:41:00 +0000 (11:41 -0700)]
todo
Sage Weil [Mon, 24 Aug 2009 18:33:47 +0000 (11:33 -0700)]
uclient: warn about stat_precise struct changes
Sage Weil [Mon, 24 Aug 2009 18:32:32 +0000 (11:32 -0700)]
libceph: no need for frag_info_t
Sage Weil [Mon, 24 Aug 2009 18:28:10 +0000 (11:28 -0700)]
msgr: add ms_die_on_bad_msg option, make assert(0) conditional
Greg Farnum [Mon, 24 Aug 2009 18:08:24 +0000 (11:08 -0700)]
Hadoop: Style fixes.
Greg Farnum [Mon, 24 Aug 2009 17:53:21 +0000 (10:53 -0700)]
Hadoop: Move the . and .. elimination
from Java to C++ for less copying.
Greg Farnum [Sun, 23 Aug 2009 04:50:08 +0000 (21:50 -0700)]
uclient: _getdents should *always* return the number of bytes written
at end of dir, not just assume it's zero!
Greg Farnum [Fri, 21 Aug 2009 21:29:26 +0000 (14:29 -0700)]
Hadoop: Use the new ceph_getdnames instead of getdir
Hypertable: fix a nasty not-closing-the-dir bug
Greg Farnum [Fri, 21 Aug 2009 16:31:50 +0000 (09:31 -0700)]
libceph: Change the C++-only functions to be C-compatible.
Hypertable: Change to use ceph_getdnames instead of getdir.
Hadoop: Minor updates to use the new C-style functions in libceph.
Greg Farnum [Fri, 21 Aug 2009 16:12:55 +0000 (09:12 -0700)]
Hadoop: Fix a nasty IO bug.
CephInputStream.read() needs to return an int between 0 and 255,
but bytes are signed and casting preserves that. Adjust if needed.
Greg Farnum [Fri, 21 Aug 2009 01:32:05 +0000 (18:32 -0700)]
Hadoop: Clean up ceph_delete code as it's redundant.
Greg Farnum [Thu, 20 Aug 2009 20:39:52 +0000 (13:39 -0700)]
Hadoop: Fixed time modification in getFileStatus.
No wonder I hadn't noticed an issue with statting!
Greg Farnum [Wed, 19 Aug 2009 17:54:43 +0000 (10:54 -0700)]
Hadoop: Add package.html;
fix a NULL instead of null error (Java)
Greg Farnum [Tue, 18 Aug 2009 23:30:11 +0000 (16:30 -0700)]
Hadoop: Put guards up to prevent
a nasty bug in case of unspecified preferences, and the unlikely case
that initialize is called twice.
Sage Weil [Mon, 24 Aug 2009 17:56:35 +0000 (10:56 -0700)]
upload tarball with 'stable' deb
Sage Weil [Mon, 24 Aug 2009 17:45:14 +0000 (10:45 -0700)]
v0.13
Sage Weil [Fri, 21 Aug 2009 23:35:01 +0000 (16:35 -0700)]
todo
Sage Weil [Fri, 21 Aug 2009 21:36:54 +0000 (14:36 -0700)]
kclient: cleanup msgpool pr_err
Sage Weil [Fri, 21 Aug 2009 21:28:26 +0000 (14:28 -0700)]
kclient: update ctime on 'no-op' ->setattr(.., ATTR_CTIME)
If kernel wants ctime updated but nothing else, pick a cap to
dirty, or set a no-op setattr req to the mds.
With this patch, we pass the full pjd fstest with mode ext3.
Sage Weil [Fri, 21 Aug 2009 20:49:46 +0000 (13:49 -0700)]
kclient tests: fix dir names
Sage Weil [Fri, 21 Aug 2009 20:44:13 +0000 (13:44 -0700)]
uclient: small _getdents cleanup
Sage Weil [Fri, 21 Aug 2009 20:27:31 +0000 (13:27 -0700)]
uclient: let's do getdents() too, while we're at it
Sage Weil [Fri, 21 Aug 2009 20:20:42 +0000 (13:20 -0700)]
crush: put temp arrays on the stack
40 ints on the stack.. not too much I hope?
Sage Weil [Fri, 21 Aug 2009 20:14:50 +0000 (13:14 -0700)]
uclient: remove readdirplus, readdirlite cruft
Ancient!
Sage Weil [Fri, 21 Aug 2009 20:11:44 +0000 (13:11 -0700)]
uclient: add getdnames()
Sage Weil [Fri, 21 Aug 2009 19:32:01 +0000 (12:32 -0700)]
kclient: better info in cap msg debug prints
Sage Weil [Fri, 21 Aug 2009 19:31:35 +0000 (12:31 -0700)]
mds: debug show cap issued/pending/wanted or issued/wanted, depending
Sage Weil [Fri, 21 Aug 2009 19:28:01 +0000 (12:28 -0700)]
mds: clean out old revocation history on racing release
If a release and revoke are racing, we need to make sure the MDS
behaves even though the revoke msg will be ignored. For example:
mds client
1 pAs pAs
release(last_issue 1)
2 p p (*** ignored ***)
3 pAs (issue) pAs
4 p p
5 pXs (issue) pXs
release(last_issue 1) *** (was completely) ignored ***
We fix this by including both seq AND last_issue in revoke_info.
The cap state for the above is thus:
mds cap state:
last_issue = 5
_pending = pXs
_revokes = [ p seq=2 li=1, p seq=4 li=3 ]
and the MDS will trim any old revokes for which li <= its
last_issue. For anything after that, the client will have seen a
new issue and will have stopped ignoring cap messages.
Sage Weil [Fri, 21 Aug 2009 18:00:33 +0000 (11:00 -0700)]
mount.ceph: block same signals as /sbin/mount
Sage Weil [Fri, 21 Aug 2009 17:32:48 +0000 (10:32 -0700)]
mds: remove mdstable ino cruft; version all ondisk encoding
Sage Weil [Fri, 21 Aug 2009 17:28:41 +0000 (10:28 -0700)]
mds: do not save cap_push_seq on disk [disk format change]
The cap_push_seq is purely associated with the current instance
of the session. On MDS restart and client reconnect, it resets
to zero. Don't save it.
Sage Weil [Fri, 21 Aug 2009 16:32:51 +0000 (09:32 -0700)]
kclient: make msgpools blocking or non-blocking
Sage Weil [Thu, 20 Aug 2009 23:48:07 +0000 (16:48 -0700)]
kclient: stop using msgpools for incoming msgs
Even though we may only dispatch N messages at a time (if we
have N cores), we may have many more connections, and be
reading the same message types in parallel from multiple
peers. Msgpool_alloc blocks when teh pool is empty, which
will make the messenger thread hang, and stall forward.
Badness.
There is no easy solution here.
Sage Weil [Thu, 20 Aug 2009 23:46:06 +0000 (16:46 -0700)]
kclient: be smarter about osd reply message refs
Sage Weil [Thu, 20 Aug 2009 23:02:46 +0000 (16:02 -0700)]
configure: check for expat for radosgw
Sage Weil [Thu, 20 Aug 2009 22:52:24 +0000 (15:52 -0700)]
Makefile: add missing MOSDPGTemp.h
Sage Weil [Thu, 20 Aug 2009 21:48:10 +0000 (14:48 -0700)]
mds: clean up loner set/drop logic
Track what loner we _want_ separately from what loner we have, so
that locks can move toward the right state.
Centralize loner set/drop call points.
Move out of EXCL in simple_eval if our target loner is -1(none).
Sage Weil [Thu, 20 Aug 2009 21:45:51 +0000 (14:45 -0700)]
kclient: don't keep reply ref in osd_request; just parse out the result
This requires a few new flags: r_prepared_pages, so we only do that
once, and r_got_reply, so we only parse the result once.
Sage Weil [Thu, 20 Aug 2009 18:48:30 +0000 (11:48 -0700)]
kclient: add iozone, kernel tar+compile tests
Sage Weil [Thu, 20 Aug 2009 18:23:31 +0000 (11:23 -0700)]
kclient: remove ancient crufty test code
Sage Weil [Wed, 19 Aug 2009 23:15:37 +0000 (16:15 -0700)]
kclient: use msgpool for client_caps
Sage Weil [Wed, 19 Aug 2009 20:51:19 +0000 (13:51 -0700)]
kclient: clean up msgr debug output a bit
Sage Weil [Wed, 19 Aug 2009 20:51:07 +0000 (13:51 -0700)]
kclient: fix data skip arithmetic
Sage Weil [Wed, 19 Aug 2009 20:44:49 +0000 (13:44 -0700)]
kclient: drop middle, data in ceph_msg_put
And not msgpool reclaim.
This fixes bug where a reused message has nr_pages != 0 and
gets confused.
Sage Weil [Wed, 19 Aug 2009 17:18:29 +0000 (10:18 -0700)]
auth: auth scheme notes
Sage Weil [Wed, 19 Aug 2009 17:15:34 +0000 (10:15 -0700)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Sage Weil [Wed, 19 Aug 2009 17:14:49 +0000 (10:14 -0700)]
kclient: requeue cap if cap send fails
Sage Weil [Wed, 19 Aug 2009 16:53:17 +0000 (09:53 -0700)]
kclient: don't reuse message for revoke_ack
This is error prone (multiple paths for sending caps) and screws
up the msg pools.
Sage Weil [Tue, 18 Aug 2009 21:59:20 +0000 (14:59 -0700)]
mds: shut up cap sanity check
Sage Weil [Tue, 18 Aug 2009 21:59:06 +0000 (14:59 -0700)]
kclient: use reference counted ceph_buffer for xattr blob, msg middle
Sage Weil [Tue, 18 Aug 2009 20:36:30 +0000 (13:36 -0700)]
fix client caps encoding
Greg Farnum [Tue, 18 Aug 2009 20:31:25 +0000 (13:31 -0700)]
uclient/hadoop: Implement lstat_precise.
libceph: Some functions were getting C bindings where it
didn't make sense (having string parameters. Fixed now.
Greg Farnum [Tue, 18 Aug 2009 19:52:51 +0000 (12:52 -0700)]
uClient: Whoops, apparently I thought stat's atime was in millis, but it's in seconds.
Sage Weil [Tue, 18 Aug 2009 19:16:42 +0000 (12:16 -0700)]
msgr: handle 'middle' section of message
Greg Farnum [Tue, 18 Aug 2009 17:33:59 +0000 (10:33 -0700)]
Hadoop: What's with all these unused variables?
Greg Farnum [Tue, 18 Aug 2009 15:41:40 +0000 (08:41 -0700)]
Hadoop: Javadoc and cleanup in CephInput/OutputStream.
Greg Farnum [Tue, 18 Aug 2009 00:15:01 +0000 (17:15 -0700)]
Hadoop: Javadoc and cleanup in CephInputStream.
Sage Weil [Mon, 17 Aug 2009 23:51:13 +0000 (16:51 -0700)]
kclient: alloc 'middle' section of messages via callback
Sage Weil [Mon, 17 Aug 2009 23:50:45 +0000 (16:50 -0700)]
kclient: fix up msgpool some
Greg Farnum [Mon, 17 Aug 2009 22:56:04 +0000 (15:56 -0700)]
uclient: A Sage-given fix for something Sage broke.
Sage Weil [Mon, 17 Aug 2009 21:57:42 +0000 (14:57 -0700)]
msgr: add 'middle' section to msgs
Sage Weil [Mon, 17 Aug 2009 20:36:15 +0000 (13:36 -0700)]
kclient: use msgpools for some messages
Greg Farnum [Mon, 17 Aug 2009 19:38:00 +0000 (12:38 -0700)]
Hadoop: cleanup compile bugs from previous cleanup work.
Sage Weil [Mon, 17 Aug 2009 19:36:47 +0000 (12:36 -0700)]
kclient: add msgpools
Greg Farnum [Sat, 15 Aug 2009 00:29:45 +0000 (17:29 -0700)]
Hadoop: Remove an exists call by checking return codes on mkdirs
Greg Farnum [Sat, 15 Aug 2009 00:07:39 +0000 (17:07 -0700)]
Hadoop: Remove references to uid and gid.
Greg Farnum [Sat, 15 Aug 2009 00:04:29 +0000 (17:04 -0700)]
Hadoop: Remove unused getLength and supporting C stuff.
Greg Farnum [Fri, 14 Aug 2009 23:58:13 +0000 (16:58 -0700)]
Hadoop: uses the new stat_precise.
Greg Farnum [Fri, 14 Aug 2009 23:55:27 +0000 (16:55 -0700)]
uclient/libceph: setattr and _setattr now use a stat_precise struct
that handles both seconds and microseconds.
stat_precise has a stat_precise(struct stat) constructor.
ll_setattr still uses struct stat.
Greg Farnum [Fri, 14 Aug 2009 22:20:48 +0000 (15:20 -0700)]
testceph: Clarify use of endl so it's non-ambiguous when the includes change.
Greg Farnum [Fri, 14 Aug 2009 20:37:14 +0000 (13:37 -0700)]
Hadoop: More Javadoc, indentation fixes, etc.
Greg Farnum [Fri, 14 Aug 2009 20:36:36 +0000 (13:36 -0700)]
Hadoop: Convert bytes to kb in statfs
Greg Farnum [Thu, 13 Aug 2009 20:56:13 +0000 (13:56 -0700)]
Hadoop: Javadoc and consistency.
Greg Farnum [Wed, 12 Aug 2009 23:54:47 +0000 (16:54 -0700)]
Hadoop: Adds the getStatus method introduced by Hadoop .21;
currently commented out since it doesn't compile in .20, but it's tested.
Sage Weil [Fri, 14 Aug 2009 21:37:36 +0000 (14:37 -0700)]
kclient: zero pages we did readahead on
If we get -ENOENT or a short read on readahead, we should still
zero the pages and add them to the page cache, to avoid a future
readpage on each one.
Sage Weil [Fri, 14 Aug 2009 21:31:30 +0000 (14:31 -0700)]
kclient: zero page on ->readpage() ENOENT
Sage Weil [Fri, 14 Aug 2009 21:31:05 +0000 (14:31 -0700)]
kclient: fix bad up_read(snap_rwsem) on readpage failure in write_begin