Commit Graph

5931 Commits

Author SHA1 Message Date
Sage Weil
f05b1bef64 kclient: fix osdmap decoding of straw buckets
Surprised this worked until now.
2009-03-09 14:56:50 -07:00
Yehuda Sadeh
a098a3fdf9 kclient: sysfs, free path after build_path 2009-03-09 14:55:54 -07:00
Yehuda Sadeh
c90746a5d1 kclient: sysfs cleanup 2009-03-09 14:50:17 -07:00
Yehuda Sadeh
ddb88b575a Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-03-09 14:32:17 -07:00
Yehuda Sadeh
2c7a38f027 kclient: sysfs, add mds name and op of current requests 2009-03-09 14:31:42 -07:00
Sage Weil
207403a5e4 kclient: simplify osd timeouts
Call handle_timeout N seconds after oldest request.  In
handle_timeout, reschedule N seconds in future.  Reschedule
with new oldest request when oldest requests completes.

Maintain a r_timeout_stamp value for each request.
2009-03-09 13:58:13 -07:00
Sage Weil
0422395507 cosd: fewer osds, with big btrfs devices 2009-03-09 13:57:22 -07:00
Sage Weil
180f416872 initscripts: allow vars with spaces 2009-03-09 13:18:56 -07:00
Sage Weil
04ca68e65b osdmap: build default crush maps out of mostly straw buckets 2009-03-09 13:18:05 -07:00
Sage Weil
b734092c2a confutils: make max line very large 2009-03-09 12:51:04 -07:00
Yehuda Sadeh
d9b2f7b5a1 Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-03-09 10:08:51 -07:00
Yehuda Sadeh
927926e903 kclient: add sysfs directory per mds request 2009-03-09 10:08:29 -07:00
Sage Weil
626d1db180 filepath: always prepend ino if it's nonzero
That means the only time we don't have an ino perfix is for fully
relative paths.
2009-03-06 16:45:55 -08:00
Sage Weil
7966f989e5 client: fix request paths
Use filepath, not bare string, whenever we can.
2009-03-06 16:44:37 -08:00
Sage Weil
04d6926e74 kclient: fix up replay after mds recovery
Do not kick unsafe requests in kick_requests (and in particular, do not
drop the session refs).

Set retry_attempt to MDS_REQUEST_REPLAY to indicate which requests are
replays.
2009-03-06 16:27:19 -08:00
Sage Weil
cd41295f53 mds: incorporate reconnect cap info after requests replay if ino originally missing
If the client reasserts caps from replayed requests, the inodes don't yet
exists during the reconnect (or even rejoin) stage.  So, if we don't find
the inode, keep the reconnect info around.  When processing a replayed
request in CInode::encode_inodestat, set wanted/issued appropriately.

This is incomplete.  We really need something to ensure we deal with
replayed requests before new requests are handled.. and on a cluster-wide
basis, since requests may involve slave requests to other mds's.

We also should clean up reconnects unclaimed after all replays are
complete.  And somehow inform the client when the cap is officially
nonexistent and EBADF.
2009-03-06 16:27:18 -08:00
Sage Weil
b88f450ecc mds: include path base ino in client reconnect paths 2009-03-06 16:27:17 -08:00
Sage Weil
b857a03bf1 filepath: no more leading / weirdness
Get rid of weird leading '/' iff ino==1 semantic.  Clean up interface a bit.
2009-03-06 16:27:16 -08:00
Sage Weil
17d716ad9d kclient: drop unused redirty code from set_page_dirty 2009-03-06 16:27:15 -08:00
Sage Weil
5f397ce668 filestore: lower min_sync_interval
We mainly need something non-zero here to ensure we batch some
requests up when we get a stream of requests with 'startsync'.
2009-03-06 16:27:14 -08:00
Yehuda Sadeh
1a33f6c74b kclient: some bookkeeper fixes 2009-03-06 10:29:21 -08:00
Sage Weil
35bb1b98d3 kclient: fix bookkeeper ifdef 2009-03-06 10:16:12 -08:00
Sage Weil
8148cb6bbc kclient: patch series descriptions, updates 2009-03-05 21:13:22 -08:00
Sage Weil
10397b6cb7 kclient: docs 2009-03-05 20:58:01 -08:00
Sage Weil
9c4e9eef59 kclient: rename ceph_tools -> bookkeeper 2009-03-05 20:57:53 -08:00
Sage Weil
f793c7f106 kclient: some caps.c cleanup 2009-03-05 18:01:15 -08:00
Sage Weil
bc1e7ea43b mon: tolerate stray victory message (restart the election)
No need to core dump.
2009-03-05 16:29:02 -08:00
Sage Weil
858df3f378 kclient: BUG instead of WARN on wanted item on rdcaps list 2009-03-05 16:29:14 -08:00
Sage Weil
3e31202885 kclient: cosmetic 2009-03-05 16:29:14 -08:00
Sage Weil
40cb55afe5 kclient: wait for requests to be safe before tearing down dcache
We need to drop dentry refs in kill_sb _before_ kill_anon_super
tears down the dcache.  Wait for safe replies for a while, then
drop what's left on the floor.
2009-03-05 16:29:14 -08:00
Sage Weil
3af0372134 kclient: don't fall over on !dirty page in invalidatepage
Spit out a warning, in case we end up with writeback accounting
errors.  I _think_ it's ok, though.
2009-03-05 16:29:14 -08:00
Yehuda Sadeh
a4f01bb5bf kclient: some documentation 2009-03-05 16:18:21 -08:00
Yehuda Sadeh
243d68431d Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-03-05 16:14:32 -08:00
Yehuda Sadeh
c2011483f3 kclient: fix osd timeout handling 2009-03-05 16:14:12 -08:00
Sage Weil
ec1f5d5479 kclient: more sanity checks in set_page_dirty
These don't fix anything, just make things break sooner...
2009-03-05 15:02:06 -08:00
Sage Weil
ffce6999d2 kclient: only remember leases on regular dentries
...not for snapdir or snap dentries, which don't have matching
d_release methods.
2009-03-05 14:26:54 -08:00
Sage Weil
61e666521a kclient: fix snap creation/deletion, memory leak
This broke with the new mds request dentry pointers.

Also, clean up kmalloced snap.
2009-03-05 14:15:55 -08:00
Sage Weil
ff52f0a10b kclient: fix snap_realm leak
Separate lookup/create from get (this is safe because we always
hold span_rwsem during these operations).
2009-03-05 14:03:31 -08:00
Yehuda Sadeh
1b47fef3fb Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-03-05 13:29:58 -08:00
Yehuda Sadeh
82ffc7a329 kclient: revise osd client timeout mechanism 2009-03-05 13:28:32 -08:00
Sage Weil
4c5369d809 kclient: simplify invalidatepage; strengthen assertions 2009-03-05 13:18:45 -08:00
Sage Weil
867aa9960a kclient: writepages cleanup 2009-03-05 11:01:39 -08:00
Sage Weil
9cd5fa4fd7 synclient: optionally do a sync on object writes; wait for sync, not ack 2009-03-05 10:40:20 -08:00
Sage Weil
bdc527eba8 filestore: enforce min and max sync interval
Ideally the min sync interval should be self-tuning (ala ext3, xfs),
but that can come later.
2009-03-05 10:22:03 -08:00
Sage Weil
48a53adb50 kclient: dosync in writepages if sync_mode is WB_SYNC_ALL
If we dosync if !pdflush, then we end up doing syncs from
balance_dirty_pages, wreaking havoc on the OSDs.

It's possible the current_is_pdflush() check isn't needed at all..
2009-03-05 10:08:31 -08:00
Sage Weil
e9ea5fe435 kclient: fix readpages zeroing bug
Move to the next page after zeroing the first partial page.
2009-03-04 19:54:37 -08:00
Sage Weil
0a9ed8523c kclient: return 0 from readpage on success 2009-03-04 16:55:11 -08:00
Sage Weil
e6726b255b kclient: addr debug, cleanup 2009-03-04 16:55:11 -08:00
Sage Weil
69e4f194ee kclient: fix readpages zeroing 2009-03-04 16:55:10 -08:00
Yehuda Sadeh
5b52d031b5 kclient: reschedule timeout for timeout length if remaining is zero 2009-03-04 16:39:18 -08:00