]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Yehuda Sadeh [Tue, 7 Apr 2009 22:45:07 +0000 (15:45 -0700)]
kclient: don't alter mds_wanted caps if dropping caps
Sage Weil [Tue, 7 Apr 2009 21:51:35 +0000 (14:51 -0700)]
vstart: kill bashisms
Sage Weil [Tue, 7 Apr 2009 16:29:39 +0000 (09:29 -0700)]
kclient: remove alignment restrictions on O_DIRECT reads and writes
These aren't needed, since we aren't restricted by DMA to a hardware disk
device or any such thing. (And even if they were, it'd probably be
sector alignment, not page alignment.)
Yehuda Sadeh [Tue, 7 Apr 2009 21:29:55 +0000 (14:29 -0700)]
mds: fix compilation error
Yehuda Sadeh [Tue, 7 Apr 2009 21:24:24 +0000 (14:24 -0700)]
mds: bump mds protocol
Yehuda Sadeh [Tue, 7 Apr 2009 21:19:03 +0000 (14:19 -0700)]
mds: add CEPH_CAP_OP_REVOKE
Yehuda Sadeh [Tue, 7 Apr 2009 19:35:37 +0000 (12:35 -0700)]
kclient: clear di->lease_session when dropping session
Yehuda Sadeh [Mon, 6 Apr 2009 22:53:10 +0000 (15:53 -0700)]
mds: flush log when expanding caps and filelock is unstable
Yehuda Sadeh [Mon, 6 Apr 2009 19:29:29 +0000 (12:29 -0700)]
mds, kclient: add CEPH_MDS_OP_CREATE operation
Sage Weil [Mon, 6 Apr 2009 03:30:21 +0000 (20:30 -0700)]
kclient: implement permission iop
The permission iop verfies we have a valid uid/gid/mode by checking for
the AUTH cap. Then calls the generic helper.
This is 100% consistent because we don't carry a cap ref over the
permission checkout. OTOH, if we don't hold the cap and the mds doesn't
actually issue it, we never will anyway. Maybe fix this eventually.
Sage Weil [Mon, 6 Apr 2009 03:22:05 +0000 (20:22 -0700)]
kclient: make do_getattr take inode, not dentry
Sage Weil [Mon, 6 Apr 2009 03:18:58 +0000 (20:18 -0700)]
kclient: d_alloc_anon on older kernels
Sage Weil [Sun, 5 Apr 2009 04:12:18 +0000 (21:12 -0700)]
mds: make sure kick wasn't immediatley fruitful in rdlock_try
Sage Weil [Sun, 5 Apr 2009 03:51:21 +0000 (20:51 -0700)]
mds: simplify EMetaBlob interface - don't pass explicit inode_t pointer
It is always in->get_projected_inode().
Sage Weil [Sat, 4 Apr 2009 22:33:43 +0000 (15:33 -0700)]
mds: fix journal replay
Load root inode before replaying journal. Kill root special case in
journal replay. Replay root inode if it is journaled.
Sage Weil [Sat, 4 Apr 2009 22:32:43 +0000 (15:32 -0700)]
mds: journal projected inode values by default
There was a bug in here that was journaling _old_ inode values. Doh!
Sage Weil [Sat, 4 Apr 2009 22:01:49 +0000 (15:01 -0700)]
vstart: run valgrind properly
Sage Weil [Sat, 4 Apr 2009 21:33:32 +0000 (14:33 -0700)]
todo
Sage Weil [Sat, 4 Apr 2009 21:28:16 +0000 (14:28 -0700)]
mds: make mds restart work
Root mds needs to load root inode, .ceph directories.
Sage Weil [Sat, 4 Apr 2009 21:18:47 +0000 (14:18 -0700)]
mon: fix mds stopping and restart
Remove stopped mds from last_beacon (monitoring) set. Fix mdsmap dump
output to include stopping set. Remove mds from stopped set on start.
Sage Weil [Thu, 2 Apr 2009 15:12:53 +0000 (08:12 -0700)]
mds: fix permissions checks on root, system inodes
Sage Weil [Thu, 2 Apr 2009 15:11:32 +0000 (08:11 -0700)]
mds: journal root inode changes
Journal root inode changes, and flush them when trimming the log segment.
Sage Weil [Fri, 3 Apr 2009 15:49:30 +0000 (08:49 -0700)]
mds: inode fetch/store
Sage Weil [Sat, 4 Apr 2009 13:49:54 +0000 (06:49 -0700)]
objecter: only send one ping per laggy osd
Sage Weil [Fri, 3 Apr 2009 15:48:54 +0000 (08:48 -0700)]
objecter: add support for compound read ops (ObjectRead)
Sage Weil [Sat, 4 Apr 2009 21:27:38 +0000 (14:27 -0700)]
osd: implement GETXATTR read op
Sage Weil [Sat, 4 Apr 2009 04:54:50 +0000 (21:54 -0700)]
kclient: better readdir debug output
Sage Weil [Sat, 4 Apr 2009 04:36:52 +0000 (21:36 -0700)]
mds: make rdlock_try kick the lock if it blocks
We were strangely getting by even though it wasn't changing the lock
state. Weird.
Sage Weil [Sat, 4 Apr 2009 04:27:19 +0000 (21:27 -0700)]
mds: issue AUTH_EXCL on mkdir
Client is clearly an exclusive user, and will often chmod.
Sage Weil [Sat, 4 Apr 2009 04:05:14 +0000 (21:05 -0700)]
kclient: drop LINK_RDCACHE cap on rename source inode
This is only needed because the mds locks the srci linklock. It has to
lock _some_ field on the source inode in order to make and propagate the
ctime change; the linklock is generally the least contended. So humor
the mds...
Sage Weil [Sat, 4 Apr 2009 04:04:11 +0000 (21:04 -0700)]
kclient: update cap->mds_wanted on revocation reply
Make sure our local mds_wanted reflects the value sent off to the mds
during a revocation.
Sage Weil [Sat, 4 Apr 2009 04:03:32 +0000 (21:03 -0700)]
mds: do not want LINK caps for any open file; no non-FILE caps when readonly
When readonly, we don't want anything other than FILE caps. (The mds
will of course give us more when it can.)
For WR and RDWR, we still want AUTH and XATTR caps, for now, since there
is some possibility that the client will want to change them.
Sage Weil [Sat, 4 Apr 2009 03:49:21 +0000 (20:49 -0700)]
kclient: drop any unwanted caps when unlinking a file
Since we can't reopen an unlinked file, there's no reason to hold on to
them. And the MDS will often want to lock to update max_size, which could
mean spurious revocations. At the very least, make sure we drop the LINK
caps.
Do the same for the rename target, if it exists.
Sage Weil [Sat, 4 Apr 2009 03:14:17 +0000 (20:14 -0700)]
kclient: send messages with default priority (to match mds)
Make our default priority match the mds. This is only important because
we occasionally resend and incoming message out again without fixing the
priority to match our default, which means out-of-order processing on
the other end.
Sage Weil [Fri, 3 Apr 2009 23:50:23 +0000 (16:50 -0700)]
msgr: show seq # of incoming messages
Sage Weil [Fri, 3 Apr 2009 23:50:14 +0000 (16:50 -0700)]
mds: alloc wrlock by EXCL client
Not sure why this was off. It is allowed in EXCL_MIX...
Sage Weil [Fri, 3 Apr 2009 23:49:37 +0000 (16:49 -0700)]
mds: don't issue new caps with a revocation
This is a really just a heuristic...
Sage Weil [Fri, 3 Apr 2009 22:45:59 +0000 (15:45 -0700)]
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...
Sage Weil [Fri, 3 Apr 2009 22:40:15 +0000 (15:40 -0700)]
mds: fix wanted updates
Check issue_seq, not seq, for wanted updates. We're primarily
worried about racing against a lookup+open, which means we only
need to worry about an _issue_ (not a cap grant or revocation).
Allow wanted _expansion_ even if seq mismatch, though!
Sage Weil [Fri, 3 Apr 2009 22:28:37 +0000 (15:28 -0700)]
mds: clean up issue_new_caps interface
Yehuda Sadeh [Fri, 3 Apr 2009 22:22:47 +0000 (15:22 -0700)]
kclient: fix session leak
Yehuda Sadeh [Fri, 3 Apr 2009 22:03:37 +0000 (15:03 -0700)]
kclient: grab inode before queue_cap_snap; cleanup
Yehuda Sadeh [Fri, 3 Apr 2009 21:58:33 +0000 (14:58 -0700)]
kclient: fix some log messages
Sage Weil [Fri, 3 Apr 2009 22:00:20 +0000 (15:00 -0700)]
uclient: mksnap/rmsnap via mkdir/rmdir
Sage Weil [Fri, 3 Apr 2009 21:57:10 +0000 (14:57 -0700)]
uclient: remove some dead code
Yehuda Sadeh [Fri, 3 Apr 2009 21:51:46 +0000 (14:51 -0700)]
kclient: protect realm->inodes_with_caps_lock
Yehuda Sadeh [Fri, 3 Apr 2009 21:05:57 +0000 (14:05 -0700)]
kclient: protect session->s_caps list with s_cap_lock
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