Commit Graph

450 Commits

Author SHA1 Message Date
Sage Weil
45f04b70bb todo 2009-04-07 16:58:58 -07:00
Sage Weil
aee59b1c3f todo 2009-04-04 14:33:32 -07:00
Sage Weil
e030885dd6 kclient: queue inode for cap check if mds_wanted mismatch
If mds_wanted in add_cap is more than we actually want (for
example, on a getattr that races with a cap wanted release),
requeue a cap check.  We don't want to release immediately if we
can help it because something like readdir would prematurely (?)
release caps we're holding on to for good measure...
2009-04-03 15:46:11 -07:00
Sage Weil
d040e34c13 kclient: snap snapdir fixes
Trivially open anything snapped.

Always successfully revalidate snapdir dentry.
2009-04-03 13:06:27 -07:00
Sage Weil
6ca5dbd095 Merge branch 'unstable' into nofilltrace
Conflicts:

	src/TODO
	src/kernel/debugfs.c
	src/kernel/mds_client.c
2009-04-02 10:37:59 -07:00
Sage Weil
126cd84954 kclient: some cap reservation cleanups
Simplify interface a bit.  Do not use reserved caps if a ctx is
not provided (eventually that one caller will be fixed).
Remove some whitespace.
2009-04-02 09:48:49 -07:00
Sage Weil
573de83944 mon: log monitor election events 2009-04-02 06:34:50 -07:00
Sage Weil
4c89deb8c5 mds: replace FINDINODE with LOOKUPHASH
The nfs export code still needs to be fixed.
2009-04-01 15:21:46 -07:00
Sage Weil
10d7631d31 kclient: simplify cap flushing
Track flushing caps globally.

We still need to add a mechanism to reflush if the mds session
drops, or if the cap gets migrated.  We will know i_flushing_caps
is us if we are/were i_auth_cap.
2009-04-01 15:21:46 -07:00
Sage Weil
69050a160b kclient: flush dirty inodes on sync_fs
Maintain dirty and sync inode lists.  When inode is dirtied,
make sure inode is on VFS dirty lists (so the vfs will write it
out for us).  When we flush caps, add to sync list.

On sync_fs, wait for sync list to drain.  (Lists are separate to
avoid starving a sync with newly dirtied inodes.)

Remove old unmount cap check cruft... once the sb goes read-only
we know all the dirty cap data has been flushed.
2009-04-01 13:52:59 -07:00
Sage Weil
0e27214dcb kclient: fix fill_trace comments 2009-04-01 12:39:52 -07:00
Sage Weil
f2cb274f60 kclient: generate request paths relative to a non-snapshotted inode 2009-04-01 09:06:33 -07:00
Sage Weil
ace82eae73 kclient: only flush caps to auth mds. wait in write_inode, if asked. 2009-04-01 09:06:30 -07:00
Sage Weil
9d1eff1a4a todo 2009-03-31 16:20:04 -07:00
Sage Weil
5b8d405343 todo 2009-03-31 10:24:31 -07:00
Sage Weil
3e69829ace kclient: pin dirty caps 2009-03-30 15:01:05 -07:00
Sage Weil
e20c361a99 kclient: drop cap lru 2009-03-30 14:49:54 -07:00
Sage Weil
afdda9945e kclient: fix touch_cap; release old caps 2009-03-30 12:50:50 -07:00
Sage Weil
def274899d kclient: make clean_caps lru; explicitly release old caps
Use check_caps for now.  Eventually we want something more
efficient.
2009-03-30 11:38:12 -07:00
Sage Weil
4dd5a3c3d7 kclient: drop cap renewal 2009-03-30 11:03:37 -07:00
Sage Weil
c287bd058c more cap notes 2009-03-27 14:58:34 -07:00
Sage Weil
3c48083282 cap todos 2009-03-27 14:35:24 -07:00
Sage Weil
5464051fc2 partial cleanup of snap related ops. still not really working. 2009-03-26 16:20:05 -07:00
Sage Weil
6d31cc7a65 kclient: set s_root, fix misc refcounting 2009-03-26 13:58:42 -07:00
Sage Weil
fb9c4329c5 mds: simplify reply trace
We have either or both of:
  dir inode + dirfrag + dentry
  target inode

And that's it.

Clean up the server reply interface a bit.
2009-03-26 13:10:43 -07:00
Sage Weil
710bcf6422 todo 2009-03-25 16:48:00 -07:00
Sage Weil
8fc3b8c03b todo 2009-03-25 12:19:36 -07:00
Sage Weil
ecfc3f38ab todo 2009-03-24 16:40:39 -07:00
Sage Weil
4b738e83a0 todo 2009-03-24 13:48:57 -07:00
Sage Weil
46913ede42 todo 2009-03-24 12:28:23 -07:00
Sage Weil
376d4903f3 todos 2009-03-24 09:44:40 -07:00
Sage Weil
ee890988a1 todo 2009-03-23 15:29:43 -07:00
Sage Weil
7afa26cb3f mds: restructure mds root directory
Create .ceph/mds%d/{stray/,journal}.  Restructure mds creation,
startup, and shutdown procedures to create, import (and populate),
and export the per-mds directory.
2009-03-20 16:56:42 -07:00
Sage Weil
1f99e6c67f todo 2009-03-18 16:25:50 -07:00
Sage Weil
ca3455405c todo 2009-03-18 13:46:23 -07:00
Sage Weil
ed9f3ee3ea todo 2009-03-18 10:57:31 -07:00
Sage Weil
943127d91c todo: mds 2009-03-17 10:18:55 -07:00
Sage Weil
ac8356792f kclient: do not flush request stream on lease release
We only release leases this way when they are about to be followed
by a request.  Presumably to the same MDS..
2009-03-16 15:51:36 -07:00
Sage Weil
72e068e70c todo 2009-03-16 15:51:36 -07:00
Sage Weil
cf9c81ac48 todo 2009-03-16 11:25:43 -07:00
Sage Weil
dbe3d7b4e9 bump version to v0.7.2 2009-03-16 11:04:13 -07:00
Sage Weil
aa1289ba84 kclient: put_page O_DIRECT pages after read or write
We were leaking page refs.
2009-03-15 14:15:30 -07:00
Sage Weil
f56ac90c00 mds: fix lease release; add lease renew support in MDS 2009-03-13 14:43:17 -07:00
Sage Weil
13025606d3 todo 2009-03-13 09:43:28 -07:00
Sage Weil
5683ff7774 kclient todos 2009-03-12 16:11:31 -07:00
Sage Weil
f741766ab4 mds: clear replica lock dirty flag when state is flushed back to primary
The dirty -> flush -> clean bit is probably overkill, given the
locking rules, but it's very explicit.
2009-03-12 16:11:31 -07:00
Sage Weil
d5bd163479 todo 2009-03-12 14:20:05 -07: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
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
1fa26111f6 todo 2009-03-03 16:35:53 -08:00