]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Fri, 3 Apr 2009 21:54:23 +0000 (14:54 -0700)]
kclient: adjust caps accounting a bit
Keep track of caps avail (size of caps reserve list).
Sage Weil [Fri, 3 Apr 2009 21:25:29 +0000 (14:25 -0700)]
kclient: link snap dentry for MKSNAP as well as LOOKUPSNAP
Also, set is_dentry = 1 to prevent the notrace handler(s) from doing
another lookup.
Sage Weil [Fri, 3 Apr 2009 21:24:40 +0000 (14:24 -0700)]
mds: include target inode in mksnap result
Sage Weil [Fri, 3 Apr 2009 21:24:26 +0000 (14:24 -0700)]
kclient: fix readdir dup requests
We want to request a new frag if the offset is _before_ the one we
have cached (i.e., we need to back up or start over). Not after.
This was making a final readdir at the end of the directory do
an extra mds request. Der.
Sage Weil [Fri, 3 Apr 2009 21:07:15 +0000 (14:07 -0700)]
uclient: fix up snapped path generation
Sage Weil [Fri, 3 Apr 2009 20:27:01 +0000 (13:27 -0700)]
uclient: fix reply trace
Sage Weil [Fri, 3 Apr 2009 20:19:34 +0000 (13:19 -0700)]
uclient: fix root inode open on mount; fix readdir
Sage Weil [Fri, 3 Apr 2009 20:13:20 +0000 (13:13 -0700)]
uclient: use new mds protocol for replies
A 'walk' now works.
Sage Weil [Fri, 3 Apr 2009 19:21:24 +0000 (12:21 -0700)]
mds: kill symlink following in the mds; handle this on the client
Sage Weil [Thu, 2 Apr 2009 22:48:25 +0000 (15:48 -0700)]
uclient: big refactoring
Sage Weil [Fri, 3 Apr 2009 20:05:53 +0000 (13:05 -0700)]
mds: cleanup
Sage Weil [Fri, 3 Apr 2009 20:05:49 +0000 (13:05 -0700)]
mds: fix open on snapped files
rdlock the filelock to make sure we get the snapped metadata. Also
make sure the filelock is SYNC so that the data ends up on disk.
(On the auth mds, we may rdlock by going to LOCK state.)
Sage Weil [Fri, 3 Apr 2009 20:04:26 +0000 (13:04 -0700)]
mds: fix open on snapped files
Return a dentry only if requested.
Sage Weil [Fri, 3 Apr 2009 20:03:17 +0000 (13:03 -0700)]
kclient: fix opens on snapped files
We just need to check i_snap_caps. If we don't have what we want
(all of it), ask the MDS, who will do the locking necessary to get
data/metadata flushed and issue us the (immutable) caps we want.
Sage Weil [Fri, 3 Apr 2009 19:17:25 +0000 (12:17 -0700)]
kclient: special case LOOKUPSNAP in fill_trace to add in the dentry
Sage Weil [Fri, 3 Apr 2009 19:16:58 +0000 (12:16 -0700)]
mds: clean up path_traverse vs snap interface
Keep snap traversal info in the MDRequest.
Don't fake the snap dentry; let the client fill it in.
Sage Weil [Fri, 3 Apr 2009 18:34:36 +0000 (11:34 -0700)]
kclient: send new LOOKUPSNAP opcode
Sage Weil [Fri, 3 Apr 2009 18:34:08 +0000 (11:34 -0700)]
mds: add LOOKUPSNAP op; synthesize snapname dentries in replies
The path_traverse verses snap interface still needs cleanup (and
follow_sym can go away!).
Sage Weil [Fri, 3 Apr 2009 17:52:34 +0000 (10:52 -0700)]
mds: make lssnap use new readdir response format
Sage Weil [Fri, 3 Apr 2009 17:52:24 +0000 (10:52 -0700)]
kclient: snap snapdir fixes
Trivially open anything snapped.
Always successfully revalidate snapdir dentry.
Yehuda Sadeh [Fri, 3 Apr 2009 17:41:29 +0000 (10:41 -0700)]
kclient: some list handling api cleanup
Yehuda Sadeh [Fri, 3 Apr 2009 17:25:39 +0000 (10:25 -0700)]
kclient: remove leaked preallocated cap releases messages
Yehuda Sadeh [Fri, 3 Apr 2009 00:02:00 +0000 (17:02 -0700)]
kclient: lookup is the only vfs call on which we init the dentry
Yehuda Sadeh [Thu, 2 Apr 2009 23:57:46 +0000 (16:57 -0700)]
kclient: don't free dentry private data when dropping lease
Yehuda Sadeh [Thu, 2 Apr 2009 22:51:11 +0000 (15:51 -0700)]
kclient: fix compilation error
Yehuda Sadeh [Thu, 2 Apr 2009 22:37:41 +0000 (15:37 -0700)]
kclient: change dentry private data initialization scheme
Sage Weil [Thu, 2 Apr 2009 22:07:39 +0000 (15:07 -0700)]
Merge branch 'nofilltrace' into unstable
Sage Weil [Thu, 2 Apr 2009 17:46:17 +0000 (10:46 -0700)]
start v0.7.3
Sage Weil [Thu, 2 Apr 2009 22:06:17 +0000 (15:06 -0700)]
Merge branch 'master' into unstable
Sage Weil [Thu, 2 Apr 2009 22:02:22 +0000 (15:02 -0700)]
kclient: drop caps in setattr
Sage Weil [Thu, 2 Apr 2009 21:59:13 +0000 (14:59 -0700)]
mds: flush log when waiting on xlock
Sage Weil [Thu, 2 Apr 2009 21:46:51 +0000 (14:46 -0700)]
Merge branch 'unstable' into nofilltrace
Sage Weil [Thu, 2 Apr 2009 21:44:44 +0000 (14:44 -0700)]
kclient: fix mds session check in update_dentry_lease
di->lease_session may be null, since we now have di's without
leases.
Yehuda Sadeh [Thu, 2 Apr 2009 19:21:32 +0000 (12:21 -0700)]
kclient: reduce log levels on some messages
Yehuda Sadeh [Thu, 2 Apr 2009 19:20:24 +0000 (12:20 -0700)]
kclient: merge conflict
Yehuda Sadeh [Thu, 2 Apr 2009 19:17:42 +0000 (12:17 -0700)]
kclient: adjust nfs reexport
Yehuda Sadeh [Thu, 2 Apr 2009 19:04:25 +0000 (12:04 -0700)]
kclient: refactor message creation
Sage Weil [Thu, 2 Apr 2009 17:37:59 +0000 (10:37 -0700)]
Merge branch 'unstable' into nofilltrace
Conflicts:
src/TODO
src/kernel/debugfs.c
src/kernel/mds_client.c
Sage Weil [Thu, 2 Apr 2009 14:01:46 +0000 (07:01 -0700)]
mon: log quorum on election victory
Sage Weil [Thu, 2 Apr 2009 17:01:54 +0000 (10:01 -0700)]
kclient: make some get/put_cap res methods static; allow reclaim
Allow a released cap to be put in a reservation context.
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 [Thu, 2 Apr 2009 13:34:50 +0000 (06:34 -0700)]
mon: log monitor election events
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
Yehuda Sadeh [Wed, 1 Apr 2009 17:12:03 +0000 (10:12 -0700)]
kclient: add missing ceph dentry init
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
Yehuda Sadeh [Tue, 31 Mar 2009 21:57:51 +0000 (14:57 -0700)]
kclient: small bug fix
Yehuda Sadeh [Tue, 31 Mar 2009 21:44:42 +0000 (14:44 -0700)]
kclient: add dentry lru
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).