]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
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
Sage Weil [Fri, 14 Aug 2009 19:50:03 +0000 (12:50 -0700)]
mount.ceph: key -> secret
Sage Weil [Fri, 14 Aug 2009 19:33:07 +0000 (12:33 -0700)]
kclient: kill unused unsafe_writeback option
Sage Weil [Fri, 14 Aug 2009 19:32:29 +0000 (12:32 -0700)]
kclient: fix up snapdirname, secret mount options
Sage Weil [Wed, 5 Aug 2009 22:10:38 +0000 (15:10 -0700)]
mount: translate keyfile=file to key=thekey
By reading the first line from the file.
Sage Weil [Fri, 14 Aug 2009 18:57:19 +0000 (11:57 -0700)]
todo
Sage Weil [Fri, 14 Aug 2009 18:09:10 +0000 (11:09 -0700)]
mds: keep precalculated _issued instead of recalcing each time
Sage Weil [Fri, 14 Aug 2009 17:56:39 +0000 (10:56 -0700)]
mds: rewrite Capability issue/revoke tracking
Use a list. Track everything. Be smart about trimming the list.
Sage Weil [Fri, 14 Aug 2009 17:56:11 +0000 (10:56 -0700)]
kclient: set issue_seq in revoke ack
Sage Weil [Thu, 13 Aug 2009 23:51:06 +0000 (16:51 -0700)]
todo
Sage Weil [Thu, 13 Aug 2009 23:50:59 +0000 (16:50 -0700)]
uclient: clean up write path a bit; better max_size handling
Sage Weil [Thu, 13 Aug 2009 22:43:49 +0000 (15:43 -0700)]
kclient: check size on llseek(..., SEEK_END)
Sage Weil [Thu, 13 Aug 2009 22:38:38 +0000 (15:38 -0700)]
uclient: check size on lseek(..., SEEK_END)
Sage Weil [Thu, 13 Aug 2009 22:38:24 +0000 (15:38 -0700)]
uclient: remove dead code
Sage Weil [Thu, 13 Aug 2009 22:33:51 +0000 (15:33 -0700)]
todo
Sage Weil [Thu, 13 Aug 2009 22:30:14 +0000 (15:30 -0700)]
uclient: handle short sync reads vs eof
Sage Weil [Thu, 13 Aug 2009 22:12:08 +0000 (15:12 -0700)]
osd: reorder snapc setup and ORDERSNAP check
Yehuda Sadeh [Thu, 13 Aug 2009 22:28:42 +0000 (15:28 -0700)]
radosgw: remove unneeded INT_MAX
Yehuda Sadeh [Thu, 13 Aug 2009 22:03:02 +0000 (15:03 -0700)]
radosgw: list objects in chunks
Sage Weil [Thu, 13 Aug 2009 20:41:24 +0000 (13:41 -0700)]
kclient: zero tail of page in readpage, readpages after short read
ceph_osdc_readpages isn't zeroing for us anymore (as of commit
23b81b9082c987a6f8221eb81c77fd7701086c5b ).
Sage Weil [Thu, 13 Aug 2009 20:38:04 +0000 (13:38 -0700)]
kclient: check EOF on sync read to do short result when appropriate
We only want to return a short read if we read the end of file.
Otherwise, a short object read means we hit a hole and need to
zero-fill.
Sage Weil [Thu, 13 Aug 2009 18:23:54 +0000 (11:23 -0700)]
configure: fix --with-radosgw
Sage Weil [Thu, 13 Aug 2009 00:08:04 +0000 (17:08 -0700)]
mds: track caps we release in requests, and reissue on request cleanup if needed
We may suppress cap issue when we release caps in a request. A lock state
change may have changed the allowed caps and should normally have issued
caps, but we suppress that because the request will way to embed that
normally. When we cleanup the request, if we haven't issued on that cap
for some reason (maybe the request errored out, or forwarded, etc.), force
an issue then.
Sage Weil [Wed, 12 Aug 2009 20:19:25 +0000 (13:19 -0700)]
mds: do not suppress cap msg if it is a revocation
This can cause things to hang, because the mds is waiting for a revocation
ack that is never going to arrive.
In contrast, an issue can be suppressed if we know we are going to issue
to the client later.
Greg Farnum [Tue, 11 Aug 2009 23:09:22 +0000 (16:09 -0700)]
Hadoop: Added some checks for not-a-file paths;
changed what delete returns on not-a-file.
Greg Farnum [Tue, 11 Aug 2009 17:44:39 +0000 (10:44 -0700)]
uClient: move last_flush_tid into Inodes,
make kick_flushing_caps faster by overwriting tids.
Sage Weil [Tue, 11 Aug 2009 23:29:01 +0000 (16:29 -0700)]
Makefile: include stop.sh in tarball
Sage Weil [Tue, 11 Aug 2009 23:22:11 +0000 (16:22 -0700)]
todo
Sage Weil [Tue, 11 Aug 2009 23:14:41 +0000 (16:14 -0700)]
psim: ifdef out dead code
Sage Weil [Tue, 11 Aug 2009 23:07:04 +0000 (16:07 -0700)]
filestore: clean out old debug print
Sage Weil [Tue, 11 Aug 2009 22:43:07 +0000 (15:43 -0700)]
uclient: avoid cap release delay on revoke
Sage Weil [Tue, 11 Aug 2009 22:24:40 +0000 (15:24 -0700)]
rev ondisk versions
Sage Weil [Tue, 28 Jul 2009 18:31:48 +0000 (11:31 -0700)]
auth: add versioning to ClientTicket
Sage Weil [Tue, 11 Aug 2009 22:21:07 +0000 (15:21 -0700)]
kclient: print osdmap pgid info
Sage Weil [Tue, 11 Aug 2009 22:20:51 +0000 (15:20 -0700)]
kclient: refactor readpages, striping
Make zero filling conditional on whether we did a short read or
the caller wants zeroed pages (e.g. O_DIRECT). Simply lowest level
osdc readpages to do a short read if it hits a stripe boundary;
that is sufficient for the ->readpages() aops.
Sage Weil [Tue, 11 Aug 2009 22:17:43 +0000 (15:17 -0700)]
kclient: fix msgr incoming msg allocation stupid
Sage Weil [Tue, 11 Aug 2009 21:57:55 +0000 (14:57 -0700)]
nstring: use correct hash function !!!!
This needs to match up with the hash used by the kernel when
hashing the object name for placement.
Use the better hash for all strings, while we're at it.
Sage Weil [Tue, 11 Aug 2009 19:18:44 +0000 (12:18 -0700)]
kclient: fix sync_read return value
Return total number of bytes read from ceph_sync_read.
Sage Weil [Tue, 11 Aug 2009 17:59:20 +0000 (10:59 -0700)]
mds: fix multiclient RD+WR loner logic
We want to go mix if there is a mix of RD and WR wanted, not
just multiple writers.
Sage Weil [Tue, 11 Aug 2009 17:44:04 +0000 (10:44 -0700)]
kclient: fix sync read, avoid unnecessary zeroing in readpages
For readpages and O_DIRECT, we want to zero out the full range
of pages we tried to read, even if the OSD does a short read,
because that implies those pages are full of zeroes.
For a regular sync read, though, we want to pass the OSD's short
read back to the application, and avoid wasting time zeroing
out pages we aren't going to look at.
Sage Weil [Tue, 11 Aug 2009 17:02:19 +0000 (10:02 -0700)]
osd: recover primary in version (not object) order
This should exhibit better disk (temporal) locality.
Sage Weil [Tue, 11 Aug 2009 16:59:09 +0000 (09:59 -0700)]
osd: avoid calling std::list.size() in PG print method
So slow!
Sage Weil [Mon, 10 Aug 2009 22:50:03 +0000 (15:50 -0700)]
kclient: allocate mempool prior to sget()
We hold a spinlock in ceph_set_super. And it's not the time or
place.
Greg Farnum [Mon, 10 Aug 2009 23:46:58 +0000 (16:46 -0700)]
uClient: Now pipelines cap flushes like the kclient.
Analagous to the kclient changes in
f7e60edead6d025d167715372dad601b499fb5a4 .
The kick_flushing_caps function does way too many comparisons, though.
Greg Farnum [Mon, 10 Aug 2009 20:30:16 +0000 (13:30 -0700)]
uClient: debug output for inode issues.
Greg Farnum [Mon, 10 Aug 2009 05:45:48 +0000 (22:45 -0700)]
Hadoop: CEPH_SETTATTR_ATIME -> CEPH_SETATTR_ATIME typo fix