Commit Graph

7804 Commits

Author SHA1 Message Date
Sage Weil
6b4d8f9fbe osdmap: kill unused/useless get_num_osds() 2009-08-05 11:41:45 -07:00
Sage Weil
2a1f32944c mds: show journal entry lengths in debug output 2009-08-05 11:40:05 -07:00
Sage Weil
1fd35e1aac kclient: cleanup unused label 2009-08-05 11:38:42 -07:00
Sage Weil
f539036d34 kclient: revamp fsync
Be smarter about when we write back caps on fsync, and when we
wait.  Also, wait only for those caps to write back, not for all
caps to be clean, avoiding starvation.
2009-08-05 11:38:32 -07:00
Sage Weil
f96501a5a1 mds: include mds # in table names
Silly us, we were using the same object names for multiple mds's.
That doesn't work so well.

Renamed like so:

mdstable_snaptable   -> mds_snaptable
mdstable_inotable    -> mds0_inotable
sessionmap           -> mds0_sessionmap
mdstable_anchortable -> mds_anchortable
2009-08-04 16:41:36 -07:00
Sage Weil
660ca27162 mds: wait for rejoin_gather_finish to complete before finishing
To do that we add ourselves to the rejoin_ack_gather.  Otherwise
we end up in up:active before we've even finished our
parallel_fetch or finished up our caps!
2009-08-04 16:08:32 -07:00
Sage Weil
f8501abc72 mds: set primary lock state to LOCK from strong replica when appropriate
This is needed only because we identify_files_to_recover() before
sending the rejoin acks, and that may twiddle the lock state, so
we need to be in a compatible state.
2009-08-04 16:07:24 -07:00
Sage Weil
7032e8a084 Makefile: reorg 2009-08-04 15:33:37 -07:00
Sage Weil
80b9480eaa mds: fix lock state assert on sync->excl 2009-08-04 15:33:36 -07:00
Sage Weil
2eb73630c9 mds: set up root inode properly on replay 2009-08-04 15:33:36 -07:00
Sage Weil
72a1dc3bb8 mds: fix reversed conditional on simplelock ->excl transition 2009-08-04 15:33:36 -07:00
Sage Weil
b3a1b789dd Makefile: no fakefuse 2009-08-04 15:33:36 -07:00
Sage Weil
55e713b553 psim: calc stddev 2009-08-04 15:33:36 -07:00
Sage Weil
841bc5f885 osdmap: only use domains if ndom > 1 2009-08-04 15:33:36 -07:00
Sage Weil
55f4e003a9 crush: fix grammar so we can recompile what we decompiled 2009-08-04 15:33:36 -07:00
Sage Weil
2c49cc3f25 mds: start resolve with root as UNKNOWN (if it's not ours)
Anything that's not ours should be unknown, including the root dir frag,
which normally starts out as mds0.

If we leave it as 0, then when mds0 claims a subset of /, its bounds are
left as 0 as well instead of being set to unknown.  Which leads to
incorrect resolve stage results.
2009-08-04 15:33:36 -07:00
Sage Weil
f663a3f04e mds: fix typo (C_Locker_Eval crash) 2009-08-04 15:33:36 -07:00
Sage Weil
f0b0ce4026 kclient: fix locking snafu in ESTALE handling 2009-08-04 15:33:36 -07:00
Sage Weil
128e9d25c8 kclient: choose mds based on dentry parent, if needed 2009-08-04 15:33:36 -07:00
Sage Weil
40f1ab8efd mds: adjust mds state asserts to include clientreplay 2009-08-04 15:33:35 -07:00
Sage Weil
da7793a360 mds: twiddle missing locks on export 2009-08-04 15:33:35 -07:00
Sage Weil
0d5ef777a7 mds: open_root only after up:active
Otherwise our lock states get totally out of whack.
2009-08-04 15:33:35 -07:00
Sage Weil
84300ab6d1 mds: issue caps on non-auth inodes
Not sure how that && is_auth() snuck in there.
2009-08-04 15:33:35 -07:00
Sage Weil
6976f2c1c7 kclient: use caps, fragtree only to choose mds (not hierarchy)
Since we require caps for all inodes in our cache, no need to consider
parents when identifying where to sent a request.  Just look at fragtree
(for fragmented dirs) or caps.
2009-08-04 15:33:35 -07:00
Sage Weil
849bae88f2 kclient: remove stray ; in dout macro 2009-08-04 15:33:35 -07:00
Greg Farnum
df3be325c1 Hadoop: Replaced some unclean file references.
Hey cool, it can do a map-reduce now!
2009-08-04 14:44:48 -07:00
Greg Farnum
74902763b6 uClient: chmod now protects unchangeable bits. 2009-08-04 14:11:59 -07:00
Greg Farnum
7e19b03591 uClient: _rename doesn't remove nodes from cache.
Sage says this is unnecessary.
2009-08-04 12:43:34 -07:00
Greg Farnum
80912bb6a7 Hadoop: Added a setPermissions method. 2009-08-04 01:23:49 -07:00
Greg Farnum
9f2bd9e534 Hadoop: CephFSInterface cleans up memory better on errors. 2009-08-04 00:18:49 -07:00
Greg Farnum
c5b3436423 Hadoop: Is much more careful with filepath sanitizing in BOTH directions.
Also has a minor interface change allowing it to build in Hadoop .20
2009-08-03 18:38:05 -07:00
Greg Farnum
249c1f1b15 uClient: Unmounting now waits on mds_requests. 2009-08-03 17:36:35 -07:00
Greg Farnum
18c35b3fb4 Hadoop: All configuration is now done through Hadoop's config mechanism.
This includes debug on CephFileSystem/n, passing it to ceph's Client,
and the monitor address.
2009-08-03 12:01:06 -07:00
Greg Farnum
f0ce81d4b4 Hadoop: Now does a proper stat. 2009-08-03 12:01:06 -07:00
Sage Weil
11f17fcfa8 kclient: less noisy about mds session timeouts
In particular, we don't want to print this multiple times.  Use
state to note when session appears to be hung, and pr_info on
transitions.
2009-08-03 09:37:50 -07:00
Sage Weil
eb06eb6572 msgr: avoid closing fd twice
Set fd to -1 after so we don't close it again later.  Otherwise
we get EBADF in random other places and are unhappy.
2009-07-31 16:09:01 -07:00
Sage Weil
dbc3c6138c todo 2009-07-31 16:08:25 -07:00
Sage Weil
b6d080615e kclient: debug peer_reset thing
I saw ceph_peer_reset with a bad entity_name.. wtf.
2009-07-30 15:39:41 -07:00
Sage Weil
f7e60edead kclient: maintain per-cap-bit tid map to fix pipelined cap updates
We want to allow pipelined cap updates, like

 client->mds  writeback Fw 1
dirty FwAx
 client->mds  writeback FwAx 2
dirty Ax
 client->mds  writeback Ax 3
 mds->client  ack 1
 mds->client  ack 2
 mds->client  ack 3

We need to make sure that the Fw bit is only cleaned after ack 2,
and Ax after ack 3.  A single tid for the inode isn't sufficient,
since that would e.g. ignore ack 2... we need a tid per cap bit so
we can pipeline writeback of different caps.

Note that we can't simply write back dirty | flushing caps every
time, since the write may also be releasing the cap.  And it would
gum up the MDS locking.

Move the last_tid to the inode, and only pay attention to 16 bits
per cap bit.. that's 17*2 bytes, vs the old 16.  Could be worse.
An 8 bit tid is probably also sufficient (that's 256 pipelined
writes) if we're concerned about inode size down the road.
2009-07-30 15:25:03 -07:00
Sage Weil
2c6606d315 kclient: maintain list of flushing snaps; reflush after reconnect 2009-07-30 15:25:02 -07:00
Sage Weil
21cb069eab kclient: fix queue_cap_snap refs, calls in handle_snap
Call on correct ci.  Skip past dropping inodes without dropping
our spinlock.  Hold ref on prior inode until we traverse to the
next one.  (We can't iput while holding our spinlock.)
2009-07-30 15:25:02 -07:00
Greg Farnum
0fffbfec82 Hadoop: Moved ceph debug level set into Java code; disabled CephIOStream debugs. 2009-07-30 14:46:38 -07:00
Greg Farnum
c087ffc187 uClient: Whoops! Made Inode get/put dout at a lower importance. 2009-07-30 14:40:10 -07:00
Greg Farnum
95fd09c4e9 Hadoop: Much cleanup of methods.
Many no-longer-required methods are now private and renamed; overrides and deprecated methods are clearly marked and mostly justified.
2009-07-30 14:40:10 -07:00
Greg Farnum
ceb2d41812 Hadoop: This method no longer exists in the FileSystem API. 2009-07-30 14:40:10 -07:00
Greg Farnum
c2aa810685 Hadoop: No good reason to overwrite these copy/move functions that I can see 2009-07-30 14:40:10 -07:00
Greg Farnum
d3b7d17864 Hadoop: Since Client is behaving, put back in the close. 2009-07-30 14:40:10 -07:00
Greg Farnum
b89046a022 uclient: Fixes refcounting bug when you chdir to cwd. 2009-07-30 14:40:10 -07:00
Greg Farnum
2ff4fbd144 Hadoop: More work with deprecated and inappropriately-overridden functions. 2009-07-30 14:40:10 -07:00
Greg Farnum
16d68ced75 Hadoop: Removed deprecated functions 2009-07-30 14:40:10 -07:00