Commit Graph

7800 Commits

Author SHA1 Message Date
Sage Weil
8daf25b1a6 uclient: add getdnames() 2009-08-21 13:11:44 -07:00
Sage Weil
873a160388 kclient: better info in cap msg debug prints 2009-08-21 12:32:07 -07:00
Sage Weil
9397867446 mds: debug show cap issued/pending/wanted or issued/wanted, depending 2009-08-21 12:32:07 -07:00
Sage Weil
b180b6ce19 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.
2009-08-21 12:28:01 -07:00
Sage Weil
f9ec9d4a76 mount.ceph: block same signals as /sbin/mount 2009-08-21 11:00:33 -07:00
Sage Weil
5822c6a2c2 mds: remove mdstable ino cruft; version all ondisk encoding 2009-08-21 10:32:48 -07:00
Sage Weil
d149c7e7ec 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.
2009-08-21 10:28:41 -07:00
Sage Weil
28afd6958a kclient: make msgpools blocking or non-blocking 2009-08-21 09:32:51 -07:00
Sage Weil
f155bd8c53 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.
2009-08-20 16:48:31 -07:00
Sage Weil
921260a17a kclient: be smarter about osd reply message refs 2009-08-20 16:48:31 -07:00
Sage Weil
a23e25f1d0 configure: check for expat for radosgw 2009-08-20 16:02:46 -07:00
Sage Weil
10940c2c81 Makefile: add missing MOSDPGTemp.h 2009-08-20 15:52:24 -07:00
Sage Weil
c55f2e9812 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).
2009-08-20 14:48:10 -07:00
Sage Weil
0266f877ad 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.
2009-08-20 14:45:51 -07:00
Sage Weil
7f320847fe kclient: add iozone, kernel tar+compile tests 2009-08-20 11:48:30 -07:00
Sage Weil
32a2b41e60 kclient: remove ancient crufty test code 2009-08-20 11:23:31 -07:00
Sage Weil
f8060443c1 kclient: use msgpool for client_caps 2009-08-19 16:15:37 -07:00
Sage Weil
065b1fdc65 kclient: clean up msgr debug output a bit 2009-08-19 13:52:19 -07:00
Sage Weil
d142cf314f kclient: fix data skip arithmetic 2009-08-19 13:52:18 -07:00
Sage Weil
11376ca2e7 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.
2009-08-19 13:52:17 -07:00
Sage Weil
a849be3242 auth: auth scheme notes 2009-08-19 10:18:29 -07:00
Sage Weil
f60482450f Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-08-19 10:15:34 -07:00
Sage Weil
8d223df7db kclient: requeue cap if cap send fails 2009-08-19 10:14:49 -07:00
Sage Weil
6d8144c04b kclient: don't reuse message for revoke_ack
This is error prone (multiple paths for sending caps) and screws
up the msg pools.
2009-08-19 09:53:17 -07:00
Sage Weil
a46441c1d4 mds: shut up cap sanity check 2009-08-18 14:59:20 -07:00
Sage Weil
81a8fe8316 kclient: use reference counted ceph_buffer for xattr blob, msg middle 2009-08-18 14:59:06 -07:00
Sage Weil
b2bf914cc5 fix client caps encoding 2009-08-18 13:36:30 -07:00
Greg Farnum
85d893c5f5 uclient/hadoop: Implement lstat_precise.
libceph: Some functions were getting C bindings where it
didn't make sense (having string parameters. Fixed now.
2009-08-18 13:31:25 -07:00
Greg Farnum
c398b0e9f8 uClient: Whoops, apparently I thought stat's atime was in millis, but it's in seconds. 2009-08-18 12:52:51 -07:00
Sage Weil
e87b7e7b8f msgr: handle 'middle' section of message 2009-08-18 12:16:42 -07:00
Greg Farnum
a7756e3b7f Hadoop: What's with all these unused variables? 2009-08-18 10:44:37 -07:00
Greg Farnum
bca0fbac2d Hadoop: Javadoc and cleanup in CephInput/OutputStream. 2009-08-18 08:41:40 -07:00
Greg Farnum
fea91de212 Hadoop: Javadoc and cleanup in CephInputStream. 2009-08-17 17:16:14 -07:00
Sage Weil
50d72f3322 kclient: alloc 'middle' section of messages via callback 2009-08-17 16:51:13 -07:00
Sage Weil
3279ac888b kclient: fix up msgpool some 2009-08-17 16:50:45 -07:00
Greg Farnum
7dca3af80c uclient: A Sage-given fix for something Sage broke. 2009-08-17 15:56:04 -07:00
Sage Weil
4d81290e63 msgr: add 'middle' section to msgs 2009-08-17 14:57:42 -07:00
Sage Weil
40aa35369b kclient: use msgpools for some messages 2009-08-17 13:36:15 -07:00
Greg Farnum
4a0767202d Hadoop: cleanup compile bugs from previous cleanup work. 2009-08-17 12:38:00 -07:00
Sage Weil
8fff74019f kclient: add msgpools 2009-08-17 12:36:47 -07:00
Greg Farnum
4d0589f392 Hadoop: Remove an exists call by checking return codes on mkdirs 2009-08-17 12:21:14 -07:00
Greg Farnum
59db5df122 Hadoop: Remove references to uid and gid. 2009-08-17 12:21:14 -07:00
Greg Farnum
3b4c423f58 Hadoop: Remove unused getLength and supporting C stuff. 2009-08-17 12:21:14 -07:00
Greg Farnum
c03b1f8e26 Hadoop: uses the new stat_precise. 2009-08-17 12:21:14 -07:00
Greg Farnum
0caab94641 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.
2009-08-17 12:21:14 -07:00
Greg Farnum
d66b0a8401 testceph: Clarify use of endl so it's non-ambiguous when the includes change. 2009-08-17 12:21:14 -07:00
Greg Farnum
abf2fc47f6 Hadoop: More Javadoc, indentation fixes, etc. 2009-08-17 12:21:13 -07:00
Greg Farnum
20bd315892 Hadoop: Convert bytes to kb in statfs 2009-08-17 12:21:13 -07:00
Greg Farnum
ad46d4759c Hadoop: Javadoc and consistency. 2009-08-17 12:21:13 -07:00
Greg Farnum
dbfdcc1473 Hadoop: Adds the getStatus method introduced by Hadoop .21;
currently commented out since it doesn't compile in .20, but it's tested.
2009-08-17 12:21:13 -07:00