]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agocrush: put temp arrays on the stack
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?

16 years agouclient: remove readdirplus, readdirlite cruft
Sage Weil [Fri, 21 Aug 2009 20:14:50 +0000 (13:14 -0700)]
uclient: remove readdirplus, readdirlite cruft

Ancient!

16 years agouclient: add getdnames()
Sage Weil [Fri, 21 Aug 2009 20:11:44 +0000 (13:11 -0700)]
uclient: add getdnames()

16 years agokclient: better info in cap msg debug prints
Sage Weil [Fri, 21 Aug 2009 19:32:01 +0000 (12:32 -0700)]
kclient: better info in cap msg debug prints

16 years agomds: debug show cap issued/pending/wanted or issued/wanted, depending
Sage Weil [Fri, 21 Aug 2009 19:31:35 +0000 (12:31 -0700)]
mds: debug show cap issued/pending/wanted or issued/wanted, depending

16 years agomds: clean out old revocation history on racing release
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.

16 years agomount.ceph: block same signals as /sbin/mount
Sage Weil [Fri, 21 Aug 2009 18:00:33 +0000 (11:00 -0700)]
mount.ceph: block same signals as /sbin/mount

16 years agomds: remove mdstable ino cruft; version all ondisk encoding
Sage Weil [Fri, 21 Aug 2009 17:32:48 +0000 (10:32 -0700)]
mds: remove mdstable ino cruft; version all ondisk encoding

16 years agomds: do not save cap_push_seq on disk [disk format change]
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.

16 years agokclient: make msgpools blocking or non-blocking
Sage Weil [Fri, 21 Aug 2009 16:32:51 +0000 (09:32 -0700)]
kclient: make msgpools blocking or non-blocking

16 years agokclient: stop using msgpools for incoming msgs
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.

16 years agokclient: be smarter about osd reply message refs
Sage Weil [Thu, 20 Aug 2009 23:46:06 +0000 (16:46 -0700)]
kclient: be smarter about osd reply message refs

16 years agoconfigure: check for expat for radosgw
Sage Weil [Thu, 20 Aug 2009 23:02:46 +0000 (16:02 -0700)]
configure: check for expat for radosgw

16 years agoMakefile: add missing MOSDPGTemp.h
Sage Weil [Thu, 20 Aug 2009 22:52:24 +0000 (15:52 -0700)]
Makefile: add missing MOSDPGTemp.h

16 years agomds: clean up loner set/drop logic
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).

16 years agokclient: don't keep reply ref in osd_request; just parse out the result
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.

16 years agokclient: add iozone, kernel tar+compile tests
Sage Weil [Thu, 20 Aug 2009 18:48:30 +0000 (11:48 -0700)]
kclient: add iozone, kernel tar+compile tests

16 years agokclient: remove ancient crufty test code
Sage Weil [Thu, 20 Aug 2009 18:23:31 +0000 (11:23 -0700)]
kclient: remove ancient crufty test code

16 years agokclient: use msgpool for client_caps
Sage Weil [Wed, 19 Aug 2009 23:15:37 +0000 (16:15 -0700)]
kclient: use msgpool for client_caps

16 years agokclient: clean up msgr debug output a bit
Sage Weil [Wed, 19 Aug 2009 20:51:19 +0000 (13:51 -0700)]
kclient: clean up msgr debug output a bit

16 years agokclient: fix data skip arithmetic
Sage Weil [Wed, 19 Aug 2009 20:51:07 +0000 (13:51 -0700)]
kclient: fix data skip arithmetic

16 years agokclient: drop middle, data in ceph_msg_put
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.

16 years agoauth: auth scheme notes
Sage Weil [Wed, 19 Aug 2009 17:18:29 +0000 (10:18 -0700)]
auth: auth scheme notes

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
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

16 years agokclient: requeue cap if cap send fails
Sage Weil [Wed, 19 Aug 2009 17:14:49 +0000 (10:14 -0700)]
kclient: requeue cap if cap send fails

16 years agokclient: don't reuse message for revoke_ack
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.

16 years agomds: shut up cap sanity check
Sage Weil [Tue, 18 Aug 2009 21:59:20 +0000 (14:59 -0700)]
mds: shut up cap sanity check

16 years agokclient: use reference counted ceph_buffer for xattr blob, msg middle
Sage Weil [Tue, 18 Aug 2009 21:59:06 +0000 (14:59 -0700)]
kclient: use reference counted ceph_buffer for xattr blob, msg middle

16 years agofix client caps encoding
Sage Weil [Tue, 18 Aug 2009 20:36:30 +0000 (13:36 -0700)]
fix client caps encoding

16 years agouclient/hadoop: Implement lstat_precise.
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.

16 years agouClient: Whoops, apparently I thought stat's atime was in millis, but it's in seconds.
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.

16 years agomsgr: handle 'middle' section of message
Sage Weil [Tue, 18 Aug 2009 19:16:42 +0000 (12:16 -0700)]
msgr: handle 'middle' section of message

16 years agoHadoop: What's with all these unused variables?
Greg Farnum [Tue, 18 Aug 2009 17:33:59 +0000 (10:33 -0700)]
Hadoop: What's with all these unused variables?

16 years agoHadoop: Javadoc and cleanup in CephInput/OutputStream.
Greg Farnum [Tue, 18 Aug 2009 15:41:40 +0000 (08:41 -0700)]
Hadoop: Javadoc and cleanup in CephInput/OutputStream.

16 years agoHadoop: Javadoc and cleanup in CephInputStream.
Greg Farnum [Tue, 18 Aug 2009 00:15:01 +0000 (17:15 -0700)]
Hadoop: Javadoc and cleanup in CephInputStream.

16 years agokclient: alloc 'middle' section of messages via callback
Sage Weil [Mon, 17 Aug 2009 23:51:13 +0000 (16:51 -0700)]
kclient: alloc 'middle' section of messages via callback

16 years agokclient: fix up msgpool some
Sage Weil [Mon, 17 Aug 2009 23:50:45 +0000 (16:50 -0700)]
kclient: fix up msgpool some

16 years agouclient: A Sage-given fix for something Sage broke.
Greg Farnum [Mon, 17 Aug 2009 22:56:04 +0000 (15:56 -0700)]
uclient: A Sage-given fix for something Sage broke.

16 years agomsgr: add 'middle' section to msgs
Sage Weil [Mon, 17 Aug 2009 21:57:42 +0000 (14:57 -0700)]
msgr: add 'middle' section to msgs

16 years agokclient: use msgpools for some messages
Sage Weil [Mon, 17 Aug 2009 20:36:15 +0000 (13:36 -0700)]
kclient: use msgpools for some messages

16 years agoHadoop: cleanup compile bugs from previous cleanup work.
Greg Farnum [Mon, 17 Aug 2009 19:38:00 +0000 (12:38 -0700)]
Hadoop: cleanup compile bugs from previous cleanup work.

16 years agokclient: add msgpools
Sage Weil [Mon, 17 Aug 2009 19:36:47 +0000 (12:36 -0700)]
kclient: add msgpools

16 years agoHadoop: Remove an exists call by checking return codes on mkdirs
Greg Farnum [Sat, 15 Aug 2009 00:29:45 +0000 (17:29 -0700)]
Hadoop: Remove an exists call by checking return codes on mkdirs

16 years agoHadoop: Remove references to uid and gid.
Greg Farnum [Sat, 15 Aug 2009 00:07:39 +0000 (17:07 -0700)]
Hadoop: Remove references to uid and gid.

16 years agoHadoop: Remove unused getLength and supporting C stuff.
Greg Farnum [Sat, 15 Aug 2009 00:04:29 +0000 (17:04 -0700)]
Hadoop: Remove unused getLength and supporting C stuff.

16 years agoHadoop: uses the new stat_precise.
Greg Farnum [Fri, 14 Aug 2009 23:58:13 +0000 (16:58 -0700)]
Hadoop: uses the new stat_precise.

16 years agouclient/libceph: setattr and _setattr now use a stat_precise struct
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.

16 years agotestceph: Clarify use of endl so it's non-ambiguous when the includes change.
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.

16 years agoHadoop: More Javadoc, indentation fixes, etc.
Greg Farnum [Fri, 14 Aug 2009 20:37:14 +0000 (13:37 -0700)]
Hadoop: More Javadoc, indentation fixes, etc.

16 years agoHadoop: Convert bytes to kb in statfs
Greg Farnum [Fri, 14 Aug 2009 20:36:36 +0000 (13:36 -0700)]
Hadoop: Convert bytes to kb in statfs

16 years agoHadoop: Javadoc and consistency.
Greg Farnum [Thu, 13 Aug 2009 20:56:13 +0000 (13:56 -0700)]
Hadoop: Javadoc and consistency.

16 years agoHadoop: Adds the getStatus method introduced by Hadoop .21;
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.

16 years agokclient: zero pages we did readahead on
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.

16 years agokclient: zero page on ->readpage() ENOENT
Sage Weil [Fri, 14 Aug 2009 21:31:30 +0000 (14:31 -0700)]
kclient: zero page on ->readpage() ENOENT

16 years agokclient: fix bad up_read(snap_rwsem) on readpage failure in write_begin
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

16 years agomount.ceph: key -> secret
Sage Weil [Fri, 14 Aug 2009 19:50:03 +0000 (12:50 -0700)]
mount.ceph: key -> secret

16 years agokclient: kill unused unsafe_writeback option
Sage Weil [Fri, 14 Aug 2009 19:33:07 +0000 (12:33 -0700)]
kclient: kill unused unsafe_writeback option

16 years agokclient: fix up snapdirname, secret mount options
Sage Weil [Fri, 14 Aug 2009 19:32:29 +0000 (12:32 -0700)]
kclient: fix up snapdirname, secret mount options

16 years agomount: translate keyfile=file to key=thekey
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.

16 years agotodo
Sage Weil [Fri, 14 Aug 2009 18:57:19 +0000 (11:57 -0700)]
todo

16 years agomds: keep precalculated _issued instead of recalcing each time
Sage Weil [Fri, 14 Aug 2009 18:09:10 +0000 (11:09 -0700)]
mds: keep precalculated _issued instead of recalcing each time

16 years agomds: rewrite Capability issue/revoke tracking
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.

16 years agokclient: set issue_seq in revoke ack
Sage Weil [Fri, 14 Aug 2009 17:56:11 +0000 (10:56 -0700)]
kclient: set issue_seq in revoke ack

16 years agotodo
Sage Weil [Thu, 13 Aug 2009 23:51:06 +0000 (16:51 -0700)]
todo

16 years agouclient: clean up write path a bit; better max_size handling
Sage Weil [Thu, 13 Aug 2009 23:50:59 +0000 (16:50 -0700)]
uclient: clean up write path a bit; better max_size handling

16 years agokclient: check size on llseek(..., SEEK_END)
Sage Weil [Thu, 13 Aug 2009 22:43:49 +0000 (15:43 -0700)]
kclient: check size on llseek(..., SEEK_END)

16 years agouclient: check size on lseek(..., SEEK_END)
Sage Weil [Thu, 13 Aug 2009 22:38:38 +0000 (15:38 -0700)]
uclient: check size on lseek(..., SEEK_END)

16 years agouclient: remove dead code
Sage Weil [Thu, 13 Aug 2009 22:38:24 +0000 (15:38 -0700)]
uclient: remove dead code

16 years agotodo
Sage Weil [Thu, 13 Aug 2009 22:33:51 +0000 (15:33 -0700)]
todo

16 years agouclient: handle short sync reads vs eof
Sage Weil [Thu, 13 Aug 2009 22:30:14 +0000 (15:30 -0700)]
uclient: handle short sync reads vs eof

16 years agoosd: reorder snapc setup and ORDERSNAP check
Sage Weil [Thu, 13 Aug 2009 22:12:08 +0000 (15:12 -0700)]
osd: reorder snapc setup and ORDERSNAP check

16 years agoradosgw: remove unneeded INT_MAX
Yehuda Sadeh [Thu, 13 Aug 2009 22:28:42 +0000 (15:28 -0700)]
radosgw: remove unneeded INT_MAX

16 years agoradosgw: list objects in chunks
Yehuda Sadeh [Thu, 13 Aug 2009 22:03:02 +0000 (15:03 -0700)]
radosgw: list objects in chunks

16 years agokclient: zero tail of page in readpage, readpages after short read
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).

16 years agokclient: check EOF on sync read to do short result when appropriate
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.

16 years agoconfigure: fix --with-radosgw
Sage Weil [Thu, 13 Aug 2009 18:23:54 +0000 (11:23 -0700)]
configure: fix --with-radosgw

16 years agomds: track caps we release in requests, and reissue on request cleanup if needed
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.

16 years agomds: do not suppress cap msg if it is a revocation
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.

16 years agoHadoop: Added some checks for not-a-file paths;
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.

16 years agouClient: move last_flush_tid into Inodes,
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.

16 years agoMakefile: include stop.sh in tarball
Sage Weil [Tue, 11 Aug 2009 23:29:01 +0000 (16:29 -0700)]
Makefile: include stop.sh in tarball

16 years agotodo
Sage Weil [Tue, 11 Aug 2009 23:22:11 +0000 (16:22 -0700)]
todo

16 years agopsim: ifdef out dead code
Sage Weil [Tue, 11 Aug 2009 23:14:41 +0000 (16:14 -0700)]
psim: ifdef out dead code

16 years agofilestore: clean out old debug print
Sage Weil [Tue, 11 Aug 2009 23:07:04 +0000 (16:07 -0700)]
filestore: clean out old debug print

16 years agouclient: avoid cap release delay on revoke
Sage Weil [Tue, 11 Aug 2009 22:43:07 +0000 (15:43 -0700)]
uclient: avoid cap release delay on revoke

16 years agorev ondisk versions
Sage Weil [Tue, 11 Aug 2009 22:24:40 +0000 (15:24 -0700)]
rev ondisk versions

16 years agoauth: add versioning to ClientTicket
Sage Weil [Tue, 28 Jul 2009 18:31:48 +0000 (11:31 -0700)]
auth: add versioning to ClientTicket

16 years agokclient: print osdmap pgid info
Sage Weil [Tue, 11 Aug 2009 22:21:07 +0000 (15:21 -0700)]
kclient: print osdmap pgid info

16 years agokclient: refactor readpages, striping
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.

16 years agokclient: fix msgr incoming msg allocation stupid
Sage Weil [Tue, 11 Aug 2009 22:17:43 +0000 (15:17 -0700)]
kclient: fix msgr incoming msg allocation stupid

16 years agonstring: use correct hash function !!!!
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.

16 years agokclient: fix sync_read return value
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.

16 years agomds: fix multiclient RD+WR loner logic
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.

16 years agokclient: fix sync read, avoid unnecessary zeroing in readpages
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.

16 years agoosd: recover primary in version (not object) order
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.

16 years agoosd: avoid calling std::list.size() in PG print method
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!

16 years agokclient: allocate mempool prior to sget()
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.

16 years agouClient: Now pipelines cap flushes like the kclient.
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.

16 years agouClient: debug output for inode issues.
Greg Farnum [Mon, 10 Aug 2009 20:30:16 +0000 (13:30 -0700)]
uClient: debug output for inode issues.

16 years agoHadoop: CEPH_SETTATTR_ATIME -> CEPH_SETATTR_ATIME typo fix
Greg Farnum [Mon, 10 Aug 2009 05:45:48 +0000 (22:45 -0700)]
Hadoop: CEPH_SETTATTR_ATIME -> CEPH_SETATTR_ATIME typo fix