]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agokclient: some cap reservation cleanups
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.

16 years agokclient: remove bad iput from check_delay_caps
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.

16 years agomds: make open() _not_ follow symlinks
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).

16 years agokclient: make ceph_lookup_open on symlink behave
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.

16 years agomds: replace FINDINODE with LOOKUPHASH
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.

16 years agomds: simplify mds command set
Sage Weil [Wed, 1 Apr 2009 21:30:44 +0000 (14:30 -0700)]
mds: simplify mds command set

16 years agokclient: simplify cap flushing
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.

16 years agokclient: fix caps reservation cleanup
Yehuda Sadeh [Wed, 1 Apr 2009 22:06:45 +0000 (15:06 -0700)]
kclient: fix caps reservation cleanup

16 years agokclient: caps bug fixes, less verbose
Yehuda Sadeh [Wed, 1 Apr 2009 21:57:34 +0000 (14:57 -0700)]
kclient: caps bug fixes, less verbose

16 years agokclient: small adjustments
Yehuda Sadeh [Wed, 1 Apr 2009 21:22:54 +0000 (14:22 -0700)]
kclient: small adjustments

16 years agokclient: debugfs for caps reservation system
Yehuda Sadeh [Wed, 1 Apr 2009 21:22:41 +0000 (14:22 -0700)]
kclient: debugfs for caps reservation system

16 years agokclient: caps reservation system
Yehuda Sadeh [Wed, 1 Apr 2009 21:07:33 +0000 (14:07 -0700)]
kclient: caps reservation system

16 years agokclient: flush dirty inodes on sync_fs
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.

16 years agokclient: read each frag over multiple readdir calls, as needed
Sage Weil [Wed, 1 Apr 2009 18:53:49 +0000 (11:53 -0700)]
kclient: read each frag over multiple readdir calls, as needed

16 years agokclient: fix mds reply error codes
Sage Weil [Wed, 1 Apr 2009 17:55:02 +0000 (10:55 -0700)]
kclient: fix mds reply error codes

16 years agomds: include 'last', 'complete' flags in readdir reply
Sage Weil [Wed, 1 Apr 2009 17:54:48 +0000 (10:54 -0700)]
mds: include 'last', 'complete' flags in readdir reply

16 years agomds: kill CEPH_MDS_OP_FSYNC
Sage Weil [Wed, 1 Apr 2009 17:14:04 +0000 (10:14 -0700)]
mds: kill CEPH_MDS_OP_FSYNC

16 years agokclient: fix fill_trace comments
Sage Weil [Wed, 1 Apr 2009 16:16:02 +0000 (09:16 -0700)]
kclient: fix fill_trace comments

16 years agokclient: use kmem_cache for caps
Yehuda Sadeh [Wed, 1 Apr 2009 17:52:41 +0000 (10:52 -0700)]
kclient: use kmem_cache for caps

16 years agomds: all request paths must be relative to a non-snapped inode
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

16 years agokclient: generate request paths relative to a non-snapshotted inode
Sage Weil [Wed, 1 Apr 2009 15:18:11 +0000 (08:18 -0700)]
kclient: generate request paths relative to a non-snapshotted inode

16 years agokclient: only flush caps to auth mds. wait in write_inode, if asked.
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.

16 years agotodo
Sage Weil [Tue, 31 Mar 2009 23:14:32 +0000 (16:14 -0700)]
todo

16 years agokclient: roll up setattr helpers into a single function
Sage Weil [Tue, 31 Mar 2009 23:14:21 +0000 (16:14 -0700)]
kclient: roll up setattr helpers into a single function

16 years agomds: roll up various ops into single SETATTR
Sage Weil [Tue, 31 Mar 2009 22:41:55 +0000 (15:41 -0700)]
mds: roll up various ops into single SETATTR

16 years agokclient: pin inode with FILE_WRBUFFER cap refs
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.

16 years agocaps: track last_issue seq, check on release
Sage Weil [Tue, 31 Mar 2009 20:19:25 +0000 (13:19 -0700)]
caps: track last_issue seq, check on release

16 years agokclient: make ->write_inode() flush dirty caps
Sage Weil [Tue, 31 Mar 2009 19:41:59 +0000 (12:41 -0700)]
kclient: make ->write_inode() flush dirty caps

16 years agomds: leave simplelock in EXCL if there is a loner
Sage Weil [Tue, 31 Mar 2009 19:41:14 +0000 (12:41 -0700)]
mds: leave simplelock in EXCL if there is a loner

16 years agokclient: fix flush_ack cleaned logic
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.

16 years agokclient: drop old_atime cruft
Sage Weil [Tue, 31 Mar 2009 19:08:35 +0000 (12:08 -0700)]
kclient: drop old_atime cruft

16 years agokclient: fix cap_release accounting
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.

16 years agokclient: no need to clean out cap_delay_list
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.

16 years agomds: release caps only via cap_release
Sage Weil [Tue, 31 Mar 2009 18:13:56 +0000 (11:13 -0700)]
mds: release caps only via cap_release

16 years agokclient: never release via client_cap message
Sage Weil [Tue, 31 Mar 2009 18:13:43 +0000 (11:13 -0700)]
kclient: never release via client_cap message

16 years agoMerge branch 'unstable' into nofilltrace
Sage Weil [Tue, 31 Mar 2009 17:47:50 +0000 (10:47 -0700)]
Merge branch 'unstable' into nofilltrace

Conflicts:

src/include/ceph_fs.h

16 years agoscripts: make mds request checker show the operation
Sage Weil [Mon, 30 Mar 2009 22:11:52 +0000 (15:11 -0700)]
scripts: make mds request checker show the operation

16 years agomds: disallow setlayout on non-new file
Sage Weil [Mon, 30 Mar 2009 23:41:53 +0000 (16:41 -0700)]
mds: disallow setlayout on non-new file

16 years agotodo
Sage Weil [Tue, 31 Mar 2009 17:23:53 +0000 (10:23 -0700)]
todo

16 years agokclient: release caps in destroy_inode
Sage Weil [Tue, 31 Mar 2009 17:20:17 +0000 (10:20 -0700)]
kclient: release caps in destroy_inode

16 years agomds: add bulk MClientCapRelease message
Sage Weil [Mon, 30 Mar 2009 22:58:54 +0000 (15:58 -0700)]
mds: add bulk MClientCapRelease message

16 years agokclient: do not pin cap inodes
Sage Weil [Mon, 30 Mar 2009 22:15:34 +0000 (15:15 -0700)]
kclient: do not pin cap inodes

16 years agokclient: pin dirty caps
Sage Weil [Mon, 30 Mar 2009 22:01:05 +0000 (15:01 -0700)]
kclient: pin dirty caps

16 years agokclient: drop cap lru
Sage Weil [Mon, 30 Mar 2009 21:49:54 +0000 (14:49 -0700)]
kclient: drop cap lru

16 years agokclient: only request wanted caps if they aren't already issued
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.

16 years agocaps: fix CEPH_FILE_MODE_RD caps (no WR!)
Sage Weil [Mon, 30 Mar 2009 20:31:13 +0000 (13:31 -0700)]
caps: fix CEPH_FILE_MODE_RD caps (no WR!)

16 years agomds: try choosing loner on encode_inodestat
Sage Weil [Mon, 30 Mar 2009 20:30:56 +0000 (13:30 -0700)]
mds: try choosing loner on encode_inodestat

16 years agomds: avoid going to MIX when unnecessary
Sage Weil [Mon, 30 Mar 2009 20:30:39 +0000 (13:30 -0700)]
mds: avoid going to MIX when unnecessary

16 years agokclient: do async wanted adjustment on open if we hold any caps
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

16 years agomds: issue FILE_RD+FILE_RDCACHE caps speculatively
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.

16 years agocosd: dump error when failed to mount, fix logs
Yehuda Sadeh [Mon, 30 Mar 2009 20:01:22 +0000 (13:01 -0700)]
cosd: dump error when failed to mount, fix logs

16 years agocmon: add mds state changes logclient notifications
Yehuda Sadeh [Mon, 30 Mar 2009 20:00:53 +0000 (13:00 -0700)]
cmon: add mds state changes logclient notifications

16 years agokclient: fix touch_cap; release old caps
Sage Weil [Mon, 30 Mar 2009 19:50:50 +0000 (12:50 -0700)]
kclient: fix touch_cap; release old caps

16 years agokclient: make clean_caps lru; explicitly 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.

16 years agocmon: less verbose
Yehuda Sadeh [Mon, 30 Mar 2009 18:16:30 +0000 (11:16 -0700)]
cmon: less verbose

16 years agokclient: drop rdcaps (cap expiration) in favor of clean_caps
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).

16 years agokclient: drop cap renewal
Sage Weil [Mon, 30 Mar 2009 18:03:37 +0000 (11:03 -0700)]
kclient: drop cap renewal

16 years agokclient: keep track of which cap is authoritative
Sage Weil [Mon, 30 Mar 2009 17:10:05 +0000 (10:10 -0700)]
kclient: keep track of which cap is authoritative

16 years agoosd: add logclient state changes
Yehuda Sadeh [Sat, 28 Mar 2009 01:10:15 +0000 (18:10 -0700)]
osd: add logclient state changes

16 years agokclient: drop unused USE_CAP_MDS
Sage Weil [Fri, 27 Mar 2009 22:56:17 +0000 (15:56 -0700)]
kclient: drop unused USE_CAP_MDS

16 years agokclient: remove unused dentry in ceph_open
Sage Weil [Fri, 27 Mar 2009 22:56:08 +0000 (15:56 -0700)]
kclient: remove unused dentry in ceph_open

16 years agomore cap notes
Sage Weil [Fri, 27 Mar 2009 21:58:34 +0000 (14:58 -0700)]
more cap notes

16 years agokclient: take CAP_PIN refs on requests
Sage Weil [Fri, 27 Mar 2009 21:46:37 +0000 (14:46 -0700)]
kclient: take CAP_PIN refs on requests

16 years agocap todos
Sage Weil [Fri, 27 Mar 2009 21:35:24 +0000 (14:35 -0700)]
cap todos

16 years agokclient: i_pin_ref
Sage Weil [Fri, 27 Mar 2009 21:35:06 +0000 (14:35 -0700)]
kclient: i_pin_ref

Ability to carry refs on CAP_PIN.

16 years agokclient: fix deep mount refcounting on s_root
Sage Weil [Fri, 27 Mar 2009 20:52:59 +0000 (13:52 -0700)]
kclient: fix deep mount refcounting on s_root

16 years agomon: avoid dup umount log entires on client unmount
Sage Weil [Fri, 27 Mar 2009 20:39:51 +0000 (13:39 -0700)]
mon: avoid dup umount log entires on client unmount

16 years agomon: clean up client mount/unmount messages a bit
Sage Weil [Fri, 27 Mar 2009 20:23:50 +0000 (13:23 -0700)]
mon: clean up client mount/unmount messages a bit

16 years agomon: use separate message type for log ack
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.

16 years agomds: fix rename common parent checks
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.

16 years agomds: expose projected inode to loners, even if they don't have EXCL yet
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!

16 years agokclient: handle mds replies with no trace.
Sage Weil [Fri, 27 Mar 2009 19:54:01 +0000 (12:54 -0700)]
kclient: handle mds replies with no trace.

Passes posix test suite.

16 years agocmon: add logclient, mount/unmount messsages
Yehuda Sadeh [Fri, 27 Mar 2009 18:51:00 +0000 (11:51 -0700)]
cmon: add logclient, mount/unmount messsages

16 years agomds: fix rename common parent checks
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.

16 years agokclient: clean up
Sage Weil [Fri, 27 Mar 2009 17:34:23 +0000 (10:34 -0700)]
kclient: clean up

16 years agokclient: d_move only on rename
Sage Weil [Fri, 27 Mar 2009 17:34:15 +0000 (10:34 -0700)]
kclient: d_move only on rename

16 years agomds: expose projected inode to loners, even if they don't have EXCL yet
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!

16 years agokclient: add a "show_bookkeeper" entry to debugfs
Yehuda Sadeh [Thu, 26 Mar 2009 23:49:17 +0000 (16:49 -0700)]
kclient: add a "show_bookkeeper" entry to debugfs

16 years agomds: return open dn to client when it wants it
Sage Weil [Thu, 26 Mar 2009 23:42:27 +0000 (16:42 -0700)]
mds: return open dn to client when it wants it

16 years agopartial cleanup of snap related ops. still not really working.
Sage Weil [Thu, 26 Mar 2009 23:20:05 +0000 (16:20 -0700)]
partial cleanup of snap related ops.  still not really working.

16 years agocommon: fix buffer::list::read_file, add buffer.cc
Yehuda Sadeh [Thu, 26 Mar 2009 22:57:13 +0000 (15:57 -0700)]
common: fix buffer::list::read_file, add buffer.cc

16 years agoconf: ressurect the g_conf init_stuff
Yehuda Sadeh [Thu, 26 Mar 2009 22:35:44 +0000 (15:35 -0700)]
conf: ressurect the g_conf init_stuff

16 years agokclient: cleanup some sparse warnings
Yehuda Sadeh [Thu, 26 Mar 2009 21:43:37 +0000 (14:43 -0700)]
kclient: cleanup some sparse warnings

16 years agokclient: replace crc32c_le with crc32c
Yehuda Sadeh [Thu, 26 Mar 2009 21:35:31 +0000 (14:35 -0700)]
kclient: replace crc32c_le with crc32c

16 years agokclient: set s_root, fix misc refcounting
Sage Weil [Thu, 26 Mar 2009 20:58:42 +0000 (13:58 -0700)]
kclient: set s_root, fix misc refcounting

16 years agomds: include diri in readdir result
Sage Weil [Thu, 26 Mar 2009 20:53:33 +0000 (13:53 -0700)]
mds: include diri in readdir result

16 years agokclient: make mds requests relative to inode or single dentry
Sage Weil [Thu, 26 Mar 2009 19:52:43 +0000 (12:52 -0700)]
kclient: make mds requests relative to inode or single dentry

16 years agomds: simplify reply trace
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.

16 years agofilepath: leave off / if bare inode (no relative part)
Sage Weil [Thu, 26 Mar 2009 18:49:00 +0000 (11:49 -0700)]
filepath: leave off / if bare inode (no relative part)

16 years agokclient: simplify fill_trace, mount
Sage Weil [Wed, 25 Mar 2009 23:41:43 +0000 (16:41 -0700)]
kclient: simplify fill_trace, mount

Don't set sb->s_root.

16 years agotrain wreck
Sage Weil [Tue, 24 Mar 2009 23:36:10 +0000 (16:36 -0700)]
train wreck

16 years agomds: specify number of dentries want in mds request
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).

16 years agotodo
Sage Weil [Wed, 25 Mar 2009 23:48:00 +0000 (16:48 -0700)]
todo

16 years agoconfig: remove unused init_g_conf()
Sage Weil [Wed, 25 Mar 2009 22:37:19 +0000 (15:37 -0700)]
config: remove unused init_g_conf()

16 years agobuffer: make read_file check read(2) result code
Sage Weil [Wed, 25 Mar 2009 22:36:39 +0000 (15:36 -0700)]
buffer: make read_file check read(2) result code

16 years agokclient: kill bad r_locked_dir in getattr
Sage Weil [Wed, 25 Mar 2009 23:28:17 +0000 (16:28 -0700)]
kclient: kill bad r_locked_dir in getattr

16 years agomds: fix unlink stray snaprealm reference
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.

16 years agomds: make root dir default to 0755
Sage Weil [Wed, 25 Mar 2009 22:31:16 +0000 (15:31 -0700)]
mds: make root dir default to 0755

16 years agoconfig: make log sym dir default to log dir
Sage Weil [Wed, 25 Mar 2009 22:31:03 +0000 (15:31 -0700)]
config: make log sym dir default to log dir

16 years agoconfig: open conf file readonly
Sage Weil [Wed, 25 Mar 2009 21:22:53 +0000 (14:22 -0700)]
config: open conf file readonly