]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Thu, 2 Apr 2009 16:48:49 +0000 (09:48 -0700)]
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.
Sage Weil [Wed, 1 Apr 2009 22:54:40 +0000 (15:54 -0700)]
kclient: remove bad iput from check_delay_caps
We no longer take an inode ref when putting the inode on the
cap_delay list.
Sage Weil [Wed, 1 Apr 2009 22:18:44 +0000 (15:18 -0700)]
mds: make open() _not_ follow symlinks
This is needed to make the lookup_open intent thing work for the
kclient. If we try to open a file that isn't a dir or file, do
not set the cap wanted bits (i.e., behave like a lookup/getattr).
Sage Weil [Wed, 1 Apr 2009 22:17:42 +0000 (15:17 -0700)]
kclient: make ceph_lookup_open on symlink behave
Don't initialize the struct file if we are a symlink. The lookup
will be followed by an open, which will do the right thing.
This fix assumes that we don't ever call open on an actual symlink.
Sage Weil [Wed, 1 Apr 2009 21:52:13 +0000 (14:52 -0700)]
mds: replace FINDINODE with LOOKUPHASH
The nfs export code still needs to be fixed.
Sage Weil [Wed, 1 Apr 2009 21:30:44 +0000 (14:30 -0700)]
mds: simplify mds command set
Sage Weil [Wed, 1 Apr 2009 21:26:27 +0000 (14:26 -0700)]
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.
Yehuda Sadeh [Wed, 1 Apr 2009 22:06:45 +0000 (15:06 -0700)]
kclient: fix caps reservation cleanup
Yehuda Sadeh [Wed, 1 Apr 2009 21:57:34 +0000 (14:57 -0700)]
kclient: caps bug fixes, less verbose
Yehuda Sadeh [Wed, 1 Apr 2009 21:22:54 +0000 (14:22 -0700)]
kclient: small adjustments
Yehuda Sadeh [Wed, 1 Apr 2009 21:22:41 +0000 (14:22 -0700)]
kclient: debugfs for caps reservation system
Yehuda Sadeh [Wed, 1 Apr 2009 21:07:33 +0000 (14:07 -0700)]
kclient: caps reservation system
Sage Weil [Wed, 1 Apr 2009 20:52:59 +0000 (13:52 -0700)]
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.
Sage Weil [Wed, 1 Apr 2009 18:53:49 +0000 (11:53 -0700)]
kclient: read each frag over multiple readdir calls, as needed
Sage Weil [Wed, 1 Apr 2009 17:55:02 +0000 (10:55 -0700)]
kclient: fix mds reply error codes
Sage Weil [Wed, 1 Apr 2009 17:54:48 +0000 (10:54 -0700)]
mds: include 'last', 'complete' flags in readdir reply
Sage Weil [Wed, 1 Apr 2009 17:14:04 +0000 (10:14 -0700)]
mds: kill CEPH_MDS_OP_FSYNC
Sage Weil [Wed, 1 Apr 2009 16:16:02 +0000 (09:16 -0700)]
kclient: fix fill_trace comments
Yehuda Sadeh [Wed, 1 Apr 2009 17:52:41 +0000 (10:52 -0700)]
kclient: use kmem_cache for caps
Sage Weil [Wed, 1 Apr 2009 15:18:51 +0000 (08:18 -0700)]
mds: all request paths must be relative to a non-snapped inode
Sage Weil [Wed, 1 Apr 2009 15:18:11 +0000 (08:18 -0700)]
kclient: generate request paths relative to a non-snapshotted inode
Sage Weil [Wed, 1 Apr 2009 14:02:14 +0000 (07:02 -0700)]
kclient: only flush caps to auth mds. wait in write_inode, if asked.
Sage Weil [Tue, 31 Mar 2009 23:14:32 +0000 (16:14 -0700)]
todo
Sage Weil [Tue, 31 Mar 2009 23:14:21 +0000 (16:14 -0700)]
kclient: roll up setattr helpers into a single function
Sage Weil [Tue, 31 Mar 2009 22:41:55 +0000 (15:41 -0700)]
mds: roll up various ops into single SETATTR
Sage Weil [Tue, 31 Mar 2009 21:39:39 +0000 (14:39 -0700)]
kclient: pin inode with FILE_WRBUFFER cap refs
This avoids the variety of ugly issues that come up with an iput()
has to wait for writeback.
Sage Weil [Tue, 31 Mar 2009 20:19:25 +0000 (13:19 -0700)]
caps: track last_issue seq, check on release
Sage Weil [Tue, 31 Mar 2009 19:41:59 +0000 (12:41 -0700)]
kclient: make ->write_inode() flush dirty caps
Sage Weil [Tue, 31 Mar 2009 19:41:14 +0000 (12:41 -0700)]
mds: leave simplelock in EXCL if there is a loner
Sage Weil [Tue, 31 Mar 2009 19:34:52 +0000 (12:34 -0700)]
kclient: fix flush_ack cleaned logic
We cleaned the bits we said were dirty. It has nothing to do with
whether we also released them.
Sage Weil [Tue, 31 Mar 2009 19:08:35 +0000 (12:08 -0700)]
kclient: drop old_atime cruft
Sage Weil [Tue, 31 Mar 2009 18:23:24 +0000 (11:23 -0700)]
kclient: fix cap_release accounting
Count num caps we can release, not messages.
Sage Weil [Tue, 31 Mar 2009 18:14:33 +0000 (11:14 -0700)]
kclient: no need to clean out cap_delay_list
Inodes get removed from __remove_cap. And there are no pins, so
we don't interfere with umount.
Sage Weil [Tue, 31 Mar 2009 18:13:56 +0000 (11:13 -0700)]
mds: release caps only via cap_release
Sage Weil [Tue, 31 Mar 2009 18:13:43 +0000 (11:13 -0700)]
kclient: never release via client_cap message
Sage Weil [Tue, 31 Mar 2009 17:47:50 +0000 (10:47 -0700)]
Merge branch 'unstable' into nofilltrace
Conflicts:
src/include/ceph_fs.h
Sage Weil [Mon, 30 Mar 2009 22:11:52 +0000 (15:11 -0700)]
scripts: make mds request checker show the operation
Sage Weil [Mon, 30 Mar 2009 23:41:53 +0000 (16:41 -0700)]
mds: disallow setlayout on non-new file
Sage Weil [Tue, 31 Mar 2009 17:23:53 +0000 (10:23 -0700)]
todo
Sage Weil [Tue, 31 Mar 2009 17:20:17 +0000 (10:20 -0700)]
kclient: release caps in destroy_inode
Sage Weil [Mon, 30 Mar 2009 22:58:54 +0000 (15:58 -0700)]
mds: add bulk MClientCapRelease message
Sage Weil [Mon, 30 Mar 2009 22:15:34 +0000 (15:15 -0700)]
kclient: do not pin cap inodes
Sage Weil [Mon, 30 Mar 2009 22:01:05 +0000 (15:01 -0700)]
kclient: pin dirty caps
Sage Weil [Mon, 30 Mar 2009 21:49:54 +0000 (14:49 -0700)]
kclient: drop cap lru
Sage Weil [Mon, 30 Mar 2009 20:34:58 +0000 (13:34 -0700)]
kclient: only request wanted caps if they aren't already issued
We still probably want something here to avoid updating wanted on
non-auth caps.
Sage Weil [Mon, 30 Mar 2009 20:31:13 +0000 (13:31 -0700)]
caps: fix CEPH_FILE_MODE_RD caps (no WR!)
Sage Weil [Mon, 30 Mar 2009 20:30:56 +0000 (13:30 -0700)]
mds: try choosing loner on encode_inodestat
Sage Weil [Mon, 30 Mar 2009 20:30:39 +0000 (13:30 -0700)]
mds: avoid going to MIX when unnecessary
Sage Weil [Mon, 30 Mar 2009 20:09:30 +0000 (13:09 -0700)]
kclient: do async wanted adjustment on open if we hold any caps
Sage Weil [Mon, 30 Mar 2009 20:12:24 +0000 (13:12 -0700)]
mds: issue FILE_RD+FILE_RDCACHE caps speculatively
This should let us do readdir + open + read with no mds
interaction on the open.
Yehuda Sadeh [Mon, 30 Mar 2009 20:01:22 +0000 (13:01 -0700)]
cosd: dump error when failed to mount, fix logs
Yehuda Sadeh [Mon, 30 Mar 2009 20:00:53 +0000 (13:00 -0700)]
cmon: add mds state changes logclient notifications
Sage Weil [Mon, 30 Mar 2009 19:50:50 +0000 (12:50 -0700)]
kclient: fix touch_cap; release old caps
Sage Weil [Mon, 30 Mar 2009 18:38:12 +0000 (11:38 -0700)]
kclient: make clean_caps lru; explicitly release old caps
Use check_caps for now. Eventually we want something more
efficient.
Yehuda Sadeh [Mon, 30 Mar 2009 18:16:30 +0000 (11:16 -0700)]
cmon: less verbose
Sage Weil [Mon, 30 Mar 2009 18:04:58 +0000 (11:04 -0700)]
kclient: drop rdcaps (cap expiration) in favor of clean_caps
This simplifies locking, too, since we have a less complication
definition of clean vs dirty (i.e. one that doesn't depend on
wanted and requires put_fmode weirdness).
Sage Weil [Mon, 30 Mar 2009 18:03:37 +0000 (11:03 -0700)]
kclient: drop cap renewal
Sage Weil [Mon, 30 Mar 2009 17:10:05 +0000 (10:10 -0700)]
kclient: keep track of which cap is authoritative
Yehuda Sadeh [Sat, 28 Mar 2009 01:10:15 +0000 (18:10 -0700)]
osd: add logclient state changes
Sage Weil [Fri, 27 Mar 2009 22:56:17 +0000 (15:56 -0700)]
kclient: drop unused USE_CAP_MDS
Sage Weil [Fri, 27 Mar 2009 22:56:08 +0000 (15:56 -0700)]
kclient: remove unused dentry in ceph_open
Sage Weil [Fri, 27 Mar 2009 21:58:34 +0000 (14:58 -0700)]
more cap notes
Sage Weil [Fri, 27 Mar 2009 21:46:37 +0000 (14:46 -0700)]
kclient: take CAP_PIN refs on requests
Sage Weil [Fri, 27 Mar 2009 21:35:24 +0000 (14:35 -0700)]
cap todos
Sage Weil [Fri, 27 Mar 2009 21:35:06 +0000 (14:35 -0700)]
kclient: i_pin_ref
Ability to carry refs on CAP_PIN.
Sage Weil [Fri, 27 Mar 2009 20:52:59 +0000 (13:52 -0700)]
kclient: fix deep mount refcounting on s_root
Sage Weil [Fri, 27 Mar 2009 20:39:51 +0000 (13:39 -0700)]
mon: avoid dup umount log entires on client unmount
Sage Weil [Fri, 27 Mar 2009 20:23:50 +0000 (13:23 -0700)]
mon: clean up client mount/unmount messages a bit
Sage Weil [Fri, 27 Mar 2009 20:23:34 +0000 (13:23 -0700)]
mon: use separate message type for log ack
Fixes logging from monitor itself.
Sage Weil [Fri, 27 Mar 2009 17:53:00 +0000 (10:53 -0700)]
mds: fix rename common parent checks
Rewrite common parent logic in terms of base inodes, since the
traces may initially be empty, and we may be renaming items in the
root directory.
Also look at _projected_ parents, not current parents.
Sage Weil [Fri, 27 Mar 2009 17:33:57 +0000 (10:33 -0700)]
mds: expose projected inode to loners, even if they don't have EXCL yet
If they are a (new) loner, they soon will!
Sage Weil [Fri, 27 Mar 2009 19:54:01 +0000 (12:54 -0700)]
kclient: handle mds replies with no trace.
Passes posix test suite.
Yehuda Sadeh [Fri, 27 Mar 2009 18:51:00 +0000 (11:51 -0700)]
cmon: add logclient, mount/unmount messsages
Sage Weil [Fri, 27 Mar 2009 17:53:00 +0000 (10:53 -0700)]
mds: fix rename common parent checks
Rewrite common parent logic in terms of base inodes, since the
traces may initially be empty, and we may be renaming items in the
root directory.
Also look at _projected_ parents, not current parents.
Sage Weil [Fri, 27 Mar 2009 17:34:23 +0000 (10:34 -0700)]
kclient: clean up
Sage Weil [Fri, 27 Mar 2009 17:34:15 +0000 (10:34 -0700)]
kclient: d_move only on rename
Sage Weil [Fri, 27 Mar 2009 17:33:57 +0000 (10:33 -0700)]
mds: expose projected inode to loners, even if they don't have EXCL yet
If they are a (new) loner, they soon will!
Yehuda Sadeh [Thu, 26 Mar 2009 23:49:17 +0000 (16:49 -0700)]
kclient: add a "show_bookkeeper" entry to debugfs
Sage Weil [Thu, 26 Mar 2009 23:42:27 +0000 (16:42 -0700)]
mds: return open dn to client when it wants it
Sage Weil [Thu, 26 Mar 2009 23:20:05 +0000 (16:20 -0700)]
partial cleanup of snap related ops. still not really working.
Yehuda Sadeh [Thu, 26 Mar 2009 22:57:13 +0000 (15:57 -0700)]
common: fix buffer::list::read_file, add buffer.cc
Yehuda Sadeh [Thu, 26 Mar 2009 22:35:44 +0000 (15:35 -0700)]
conf: ressurect the g_conf init_stuff
Yehuda Sadeh [Thu, 26 Mar 2009 21:43:37 +0000 (14:43 -0700)]
kclient: cleanup some sparse warnings
Yehuda Sadeh [Thu, 26 Mar 2009 21:35:31 +0000 (14:35 -0700)]
kclient: replace crc32c_le with crc32c
Sage Weil [Thu, 26 Mar 2009 20:58:42 +0000 (13:58 -0700)]
kclient: set s_root, fix misc refcounting
Sage Weil [Thu, 26 Mar 2009 20:53:33 +0000 (13:53 -0700)]
mds: include diri in readdir result
Sage Weil [Thu, 26 Mar 2009 19:52:43 +0000 (12:52 -0700)]
kclient: make mds requests relative to inode or single dentry
Sage Weil [Thu, 26 Mar 2009 18:52:17 +0000 (11:52 -0700)]
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.
Sage Weil [Thu, 26 Mar 2009 18:49:00 +0000 (11:49 -0700)]
filepath: leave off / if bare inode (no relative part)
Sage Weil [Wed, 25 Mar 2009 23:41:43 +0000 (16:41 -0700)]
kclient: simplify fill_trace, mount
Don't set sb->s_root.
Sage Weil [Tue, 24 Mar 2009 23:36:10 +0000 (16:36 -0700)]
train wreck
Sage Weil [Tue, 24 Mar 2009 21:34:37 +0000 (14:34 -0700)]
mds: specify number of dentries want in mds request
Let the client inform the MDS whether it wants dentry linkage info
(i.e., whether it holds the directory i_mutex).
Sage Weil [Wed, 25 Mar 2009 23:48:00 +0000 (16:48 -0700)]
todo
Sage Weil [Wed, 25 Mar 2009 22:37:19 +0000 (15:37 -0700)]
config: remove unused init_g_conf()
Sage Weil [Wed, 25 Mar 2009 22:36:39 +0000 (15:36 -0700)]
buffer: make read_file check read(2) result code
Sage Weil [Wed, 25 Mar 2009 23:28:17 +0000 (16:28 -0700)]
kclient: kill bad r_locked_dir in getattr
Sage Weil [Wed, 25 Mar 2009 23:27:18 +0000 (16:27 -0700)]
mds: fix unlink stray snaprealm reference
Stray dir doesn't get a snaprealm currently.
Sage Weil [Wed, 25 Mar 2009 22:31:16 +0000 (15:31 -0700)]
mds: make root dir default to 0755
Sage Weil [Wed, 25 Mar 2009 22:31:03 +0000 (15:31 -0700)]
config: make log sym dir default to log dir
Sage Weil [Wed, 25 Mar 2009 21:22:53 +0000 (14:22 -0700)]
config: open conf file readonly