Commit Graph

7926 Commits

Author SHA1 Message Date
Sage Weil
03411a1565 mds: avoid propagating nestlock more frequently than mds_dirstat_min_interval
Instead, add the lock to the update_scatterlock list, as usual.
2009-08-24 14:01:14 -07:00
Sage Weil
9114e6fccb mds: kill SimpleLock::wait_shift
It's a function of lock type.
2009-08-24 12:45:48 -07:00
Sage Weil
c840ac9ad3 todo 2009-08-24 11:41:00 -07:00
Sage Weil
9d1bee70f1 uclient: warn about stat_precise struct changes 2009-08-24 11:33:51 -07:00
Sage Weil
10e644afcd libceph: no need for frag_info_t 2009-08-24 11:33:51 -07:00
Sage Weil
5d9d1ef61b msgr: add ms_die_on_bad_msg option, make assert(0) conditional 2009-08-24 11:33:51 -07:00
Greg Farnum
f6f126335d Hadoop: Style fixes. 2009-08-24 11:09:51 -07:00
Greg Farnum
cc7b36c0a0 Hadoop: Move the . and .. elimination
from Java to C++ for less copying.
2009-08-24 11:09:51 -07:00
Greg Farnum
4a6d22d86d uclient: _getdents should *always* return the number of bytes written
at end of dir, not just assume it's zero!
2009-08-24 11:09:51 -07:00
Greg Farnum
8d1f4d59d6 Hadoop: Use the new ceph_getdnames instead of getdir
Hypertable: fix a nasty not-closing-the-dir bug
2009-08-24 11:09:51 -07:00
Greg Farnum
93552e4199 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.
2009-08-24 11:09:51 -07:00
Greg Farnum
af72edd717 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.
2009-08-24 11:09:51 -07:00
Greg Farnum
e9b00e09d2 Hadoop: Clean up ceph_delete code as it's redundant. 2009-08-24 11:09:51 -07:00
Greg Farnum
575158ab9f Hadoop: Fixed time modification in getFileStatus.
No wonder I hadn't noticed an issue with statting!
2009-08-24 11:09:51 -07:00
Greg Farnum
c5dd75eeb4 Hadoop: Add package.html;
fix a NULL instead of null error (Java)
2009-08-24 11:09:51 -07:00
Greg Farnum
bc372c7de7 Hadoop: Put guards up to prevent
a nasty bug in case of unspecified preferences, and the unlikely case
that initialize is called twice.
2009-08-24 11:09:51 -07:00
Sage Weil
1d7726ea9c upload tarball with 'stable' deb 2009-08-24 10:56:35 -07:00
Sage Weil
2b32297267 v0.13 2009-08-24 10:45:14 -07:00
Sage Weil
43dcbc2342 todo 2009-08-21 16:35:01 -07:00
Sage Weil
350190ccb4 kclient: cleanup msgpool pr_err 2009-08-21 14:36:54 -07:00
Sage Weil
d349d577bb 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.
2009-08-21 14:28:26 -07:00
Sage Weil
94b85eeff6 kclient tests: fix dir names 2009-08-21 13:49:46 -07:00
Sage Weil
411dcbea87 uclient: small _getdents cleanup 2009-08-21 13:44:13 -07:00
Sage Weil
2279e43546 uclient: let's do getdents() too, while we're at it 2009-08-21 13:27:31 -07:00
Sage Weil
3ccb16483a crush: put temp arrays on the stack
40 ints on the stack.. not too much I hope?
2009-08-21 13:20:42 -07:00
Sage Weil
206eddb15a uclient: remove readdirplus, readdirlite cruft
Ancient!
2009-08-21 13:14:50 -07:00
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