]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: carry RDCACHE|WRBUFFER through xlock.
Sage Weil [Sat, 17 Jan 2009 00:52:37 +0000 (16:52 -0800)]
mds: carry RDCACHE|WRBUFFER through xlock.

16 years agokclient: fix fill_file_bits logic
Sage Weil [Sat, 17 Jan 2009 00:07:42 +0000 (16:07 -0800)]
kclient: fix fill_file_bits logic

ctime should be the max if we hold any wr caps, otherwise it's
the mds value, regardless of time_warp_seq (which does not modify
ctime).

16 years agomds: include projected ctime if _any_ other fields are projected
Sage Weil [Sat, 17 Jan 2009 00:06:34 +0000 (16:06 -0800)]
mds: include projected ctime if _any_ other fields are projected

...or if client holds FILE_EXCL.

16 years agokclient: fix snap_rwsem link on non-existent cap release
Sage Weil [Fri, 16 Jan 2009 23:37:46 +0000 (15:37 -0800)]
kclient: fix snap_rwsem link on non-existent cap release

16 years agokclient: some cleanup
Yehuda Sadeh [Fri, 16 Jan 2009 23:51:31 +0000 (15:51 -0800)]
kclient: some cleanup

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Fri, 16 Jan 2009 23:33:57 +0000 (15:33 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: fix gid setattr
Yehuda Sadeh [Fri, 16 Jan 2009 23:33:24 +0000 (15:33 -0800)]
kclient: fix gid setattr

16 years agomds: also verify in rename() that mds reintegrate/merge is valid
Sage Weil [Fri, 16 Jan 2009 23:18:10 +0000 (15:18 -0800)]
mds: also verify in rename() that mds reintegrate/merge is valid

16 years agomds: do not reintegrate stray if target dentry is projected
Sage Weil [Fri, 16 Jan 2009 23:06:34 +0000 (15:06 -0800)]
mds: do not reintegrate stray if target dentry is projected

Otherwise we break user semantics.  Remote parent might be
unlinking!  Then we move the file back into the position that
was just unlinked...

16 years agomds: look at issued(), not pending(), when putting cap on the rdcaps list
Sage Weil [Fri, 16 Jan 2009 22:58:52 +0000 (14:58 -0800)]
mds: look at issued(), not pending(), when putting cap on the rdcaps list

We want to be conservative in the MDS about dropping caps!  If the
client hasn't released a non-trimmable cap, we shouldn't expire
it.

16 years agomds: eval_cap_gather when trimming rdcaps
Sage Weil [Fri, 16 Jan 2009 22:49:55 +0000 (14:49 -0800)]
mds: eval_cap_gather when trimming rdcaps

16 years agomds: look at inode locks to determine whether to expose stable or projected inode...
Sage Weil [Fri, 16 Jan 2009 22:31:29 +0000 (14:31 -0800)]
mds: look at inode locks to determine whether to expose stable or projected inode fields

And clean up the set_trace_dist() hacks.

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Fri, 16 Jan 2009 22:31:24 +0000 (14:31 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: some more sparse fixes
Yehuda Sadeh [Fri, 16 Jan 2009 22:31:03 +0000 (14:31 -0800)]
kclient: some more sparse fixes

16 years agomds: fix uninitialized value in ceph_inode_holds_cap()
Sage Weil [Fri, 16 Jan 2009 21:55:00 +0000 (13:55 -0800)]
mds: fix uninitialized value in ceph_inode_holds_cap()

16 years agomds: fix inode version projected on open O_CREAT, too
Sage Weil [Fri, 16 Jan 2009 21:28:10 +0000 (13:28 -0800)]
mds: fix inode version projected on open O_CREAT, too

See 461cb1a6438d5f474d2958019fa5d42628d3a490

16 years agomds: set .inode in projected linkages; add dentry to remote_parents only when active
Sage Weil [Fri, 16 Jan 2009 21:17:25 +0000 (13:17 -0800)]
mds: set .inode in projected linkages; add dentry to remote_parents only when active

This let's us do dnl->get_inode() on projected linkages for
remote links.

16 years agomds: fix link() dn linkage projection
Sage Weil [Fri, 16 Jan 2009 20:56:08 +0000 (12:56 -0800)]
mds: fix link() dn linkage projection

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Fri, 16 Jan 2009 20:47:41 +0000 (12:47 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: some sparse cleanups
Yehuda Sadeh [Fri, 16 Jan 2009 20:47:24 +0000 (12:47 -0800)]
kclient: some sparse cleanups

16 years agomds: only set max_size on open+O_CREAT if file opened for writing
Sage Weil [Fri, 16 Jan 2009 20:36:52 +0000 (12:36 -0800)]
mds: only set max_size on open+O_CREAT if file opened for writing

16 years agomds: optionally pass a specific linkage for journal_cow_dentry to use
Sage Weil [Fri, 16 Jan 2009 20:25:32 +0000 (12:25 -0800)]
mds: optionally pass a specific linkage for journal_cow_dentry to use

This is needed just for rename(), which up pushes projected linkages
before calling journal_cow_dentry and friend.  Consequently, they
can't just use dn->get_projected_linkage() like they usually do.

16 years agomds: fix fast create + rm failure
Sage Weil [Fri, 16 Jan 2009 19:57:39 +0000 (11:57 -0800)]
mds: fix fast create + rm failure

The inode projected_version() needs to be accurate or we run into
problems later.  So, change the way the inode creation version is
initialized by moving the hack to right before mark_dirty() is
called (to keep the v < pv assertion in place).

16 years agomds: make xlock stable
Sage Weil [Fri, 16 Jan 2009 19:27:08 +0000 (11:27 -0800)]
mds: make xlock stable

16 years agokclient: set dentry d_time when doing local ENOENT
Sage Weil [Fri, 16 Jan 2009 19:16:13 +0000 (11:16 -0800)]
kclient: set dentry d_time when doing local ENOENT

This allows a subsequent d_revalidate to succeed.

16 years agomds: get_linkage() should return projected if xlocked by self
Sage Weil [Fri, 16 Jan 2009 19:15:47 +0000 (11:15 -0800)]
mds: get_linkage() should return projected if xlocked by self

Also, move set_xlocks_done() to _below_ set_trace_dist, in case some
other request comes in and xlocks the dentry.

Allow read_projected in XLOCK state too.  Note that other requests
_still_ won't be able to re-xlock or rdlock until the prior request
set xlock done.

16 years agomds: touch using projected parents too
Sage Weil [Fri, 16 Jan 2009 18:46:52 +0000 (10:46 -0800)]
mds: touch using projected parents too

16 years agomds: journal using projected parent
Sage Weil [Fri, 16 Jan 2009 18:46:06 +0000 (10:46 -0800)]
mds: journal using projected parent

16 years agokclient: one more update_parent fix
Sage Weil [Fri, 16 Jan 2009 18:44:34 +0000 (10:44 -0800)]
kclient: one more update_parent fix

16 years agokclient: don't mark root complete (empty); debug complete flag
Sage Weil [Fri, 16 Jan 2009 18:37:08 +0000 (10:37 -0800)]
kclient: don't mark root complete (empty); debug complete flag

16 years agouclient: small bug fix
Sage Weil [Fri, 16 Jan 2009 18:26:58 +0000 (10:26 -0800)]
uclient: small bug fix

16 years agojournaler: don't request ACKs if in safe mode; do safe mode by default (since mds...
Sage Weil [Fri, 16 Jan 2009 18:06:23 +0000 (10:06 -0800)]
journaler: don't request ACKs if in safe mode; do safe mode by default (since mds does too)

This avoids ACK replies from the OSDs, which the MDS ignores
anyway.

16 years agokclient: refine dir complete/readdir handling
Yehuda Sadeh [Fri, 16 Jan 2009 18:21:41 +0000 (10:21 -0800)]
kclient: refine dir complete/readdir handling

16 years agomds: kill FileLock
Sage Weil [Fri, 16 Jan 2009 17:10:36 +0000 (09:10 -0800)]
mds: kill FileLock

Keep ScatterLock.. it has the xlist nodes for tracking dirty scattered
metadata (used by sm_filelock and sm_scatterlock).

16 years agomds: redo choose_loner/drop_loner
Sage Weil [Fri, 16 Jan 2009 17:07:15 +0000 (09:07 -0800)]
mds: redo choose_loner/drop_loner

Still need a simple_excl() with a try_choose_loner() check, and something
in simple_eval.

16 years agomds: merge *_sync() methods
Sage Weil [Fri, 16 Jan 2009 04:22:31 +0000 (20:22 -0800)]
mds: merge *_sync() methods

16 years agomds: more lock refactoring. merge *_lock() methods.
Sage Weil [Fri, 16 Jan 2009 04:14:00 +0000 (20:14 -0800)]
mds: more lock refactoring.  merge *_lock() methods.

16 years agomds: ENOENT on null dentry in unlink()
Sage Weil [Fri, 16 Jan 2009 00:44:09 +0000 (16:44 -0800)]
mds: ENOENT on null dentry in unlink()

16 years agomds: add lock->xlock state
Sage Weil [Fri, 16 Jan 2009 00:39:28 +0000 (16:39 -0800)]
mds: add lock->xlock state

16 years agomds: simplify loner_cap update
Sage Weil [Fri, 16 Jan 2009 00:33:48 +0000 (16:33 -0800)]
mds: simplify loner_cap update

This may still not be right...

16 years agomds: generic locking helpers, step 1
Sage Weil [Fri, 16 Jan 2009 00:26:55 +0000 (16:26 -0800)]
mds: generic locking helpers, step 1

Still need to refactor :*_sync(), *_lock(), etc... and test.

16 years agomds: rewrite SimpleLock using generic state specifications; new xlock semantics
Sage Weil [Thu, 15 Jan 2009 20:41:30 +0000 (12:41 -0800)]
mds: rewrite SimpleLock using generic state specifications; new xlock semantics

Same client can re-xlock an item (or read_projected) if the prior
locker set_xlock_done().  Move from XLOCKDONE to either SYNC or
LOCK, depending on whether read leases/locks have been issued.

Still need to convert FileLock and ScatterLock to use the new
state machine specification.  (This will probably make those lock
types mostly go away.)

16 years agolease: difrentiate lease release cases (revoke, preemptive)
Yehuda Sadeh [Fri, 16 Jan 2009 00:16:47 +0000 (16:16 -0800)]
lease: difrentiate lease release cases (revoke, preemptive)

16 years agokclient: clear dir complete/readdir bits when appropriate
Yehuda Sadeh [Thu, 15 Jan 2009 23:22:28 +0000 (15:22 -0800)]
kclient: clear dir complete/readdir bits when appropriate

16 years agomds: remove some uninitialized cases
Yehuda Sadeh [Thu, 15 Jan 2009 23:21:44 +0000 (15:21 -0800)]
mds: remove some uninitialized cases

16 years agomds: disable empty directory fastpath check
Sage Weil [Thu, 15 Jan 2009 18:05:50 +0000 (10:05 -0800)]
mds: disable empty directory fastpath check

We need to look at the _projected_ directory size for this to work.
Until then, disable the fastpath check.

16 years agomds: fix unlink
Sage Weil [Thu, 15 Jan 2009 18:00:21 +0000 (10:00 -0800)]
mds: fix unlink

Need to project linkage.

16 years agomds: path_traverse cleanup
Sage Weil [Thu, 15 Jan 2009 04:35:57 +0000 (20:35 -0800)]
mds: path_traverse cleanup

16 years agomds: always traverse projected hierarchy; xlocks will handle client views
Sage Weil [Thu, 15 Jan 2009 00:56:11 +0000 (16:56 -0800)]
mds: always traverse projected hierarchy; xlocks will handle client views

If another client starts to follow a projected dentry, it will stop
on the xlock.  Unless it's a rename, in which case we do want the
projected value.

16 years agomds: force explicit current vs projected dentry linkage in API
Sage Weil [Wed, 14 Jan 2009 22:12:30 +0000 (14:12 -0800)]
mds: force explicit current vs projected dentry linkage in API

CDentry users must use get_linkage() or get_projected_linkage()
(or get_linkage(int client) to autochoose) to explicitly specify
whether they want the current or projected dentry linkage.

16 years agomds: use projected dentry linkages in rename
Sage Weil [Wed, 14 Jan 2009 19:48:23 +0000 (11:48 -0800)]
mds: use projected dentry linkages in rename

Passes basic test, rest of the code still needs an audit.

16 years agomds: fix simplelock cap check
Sage Weil [Wed, 14 Jan 2009 19:23:16 +0000 (11:23 -0800)]
mds: fix simplelock cap check

Only check caps if there is a cap_shift.. this replaces the
type != CEPH_LOCK_DN special case (no cap shift will be
defined if it's not on an inode).

16 years agomds: a few comments
Sage Weil [Wed, 14 Jan 2009 19:18:10 +0000 (11:18 -0800)]
mds: a few comments

16 years agomds: fix up EXCL state some. fix set_trace_dist use of projected parent
Sage Weil [Wed, 14 Jan 2009 18:41:19 +0000 (10:41 -0800)]
mds: fix up EXCL state some.  fix set_trace_dist use of projected parent

16 years agomds: some cleanup
Sage Weil [Wed, 14 Jan 2009 17:53:09 +0000 (09:53 -0800)]
mds: some cleanup

16 years agomds: project dentry linkage
Sage Weil [Wed, 14 Jan 2009 00:33:44 +0000 (16:33 -0800)]
mds: project dentry linkage

16 years agokclient: fix lock leak in mdsc_handle_map
Sage Weil [Wed, 14 Jan 2009 00:59:08 +0000 (16:59 -0800)]
kclient: fix lock leak in mdsc_handle_map

16 years agomds: verify is_stable() before calling simple_eval()
Sage Weil [Tue, 13 Jan 2009 02:45:33 +0000 (18:45 -0800)]
mds: verify is_stable() before calling simple_eval()

The finish_waiters may change the state again.

16 years agomds: end of traverse may be indoe or projected_inode
Sage Weil [Tue, 13 Jan 2009 00:52:10 +0000 (16:52 -0800)]
mds: end of traverse may be indoe or projected_inode

This may need a more general solution...

16 years agokclient: use CEPH_INO_ROOT constant
Sage Weil [Tue, 13 Jan 2009 00:34:02 +0000 (16:34 -0800)]
kclient: use CEPH_INO_ROOT constant

16 years agomds: include projected dn+inode to client if xlock_done
Sage Weil [Mon, 12 Jan 2009 23:16:01 +0000 (15:16 -0800)]
mds: include projected dn+inode to client if xlock_done

We should see the result in a readdir after a mkdir etc, even if it
hasn't journaled yet.  E.g., we should be able to killall -STOP cosd,
then

$ mkdir foo ; ls
foo

16 years agomds: fix LOCK_LOCK -> LOCK_LOCK_SYNC issue_lease transition logic
Sage Weil [Mon, 12 Jan 2009 23:02:44 +0000 (15:02 -0800)]
mds: fix LOCK_LOCK -> LOCK_LOCK_SYNC issue_lease transition logic

Bump the lock state even if we don't issue a lease now.

16 years agomds: allow FileLock wrlock when client holding FILE_EXCL
Sage Weil [Mon, 12 Jan 2009 23:02:13 +0000 (15:02 -0800)]
mds: allow FileLock wrlock when client holding FILE_EXCL

16 years agomds: issue cap on mkdir; set authlock to EXCL on open O_CREAT.
Sage Weil [Mon, 12 Jan 2009 22:56:39 +0000 (14:56 -0800)]
mds: issue cap on mkdir; set authlock to EXCL on open O_CREAT.

16 years agomds: fix encode_inode caps issue logic
Sage Weil [Mon, 12 Jan 2009 22:55:51 +0000 (14:55 -0800)]
mds: fix encode_inode caps issue logic

We must mask _likes_ against _allowed_.  Bump filelock if we're a directory
and we're a loner.

16 years agomds: loner if only client with cap on a dir
Sage Weil [Mon, 12 Jan 2009 22:54:22 +0000 (14:54 -0800)]
mds: loner if only client with cap on a dir

16 years agokclient: only release dir RDCACHE if we're not holding EXCL
Sage Weil [Mon, 12 Jan 2009 22:53:01 +0000 (14:53 -0800)]
kclient: only release dir RDCACHE if we're not holding EXCL

MDS will (soon) let us carry a wrlock if we have the EXCL lock.

16 years agokclient: hold onto dir EXCL cap
Sage Weil [Mon, 12 Jan 2009 22:52:24 +0000 (14:52 -0800)]
kclient: hold onto dir EXCL cap

16 years agokclient: track COMPLETE flag on directories with RDCACHE; lookup ENOENT locally when...
Sage Weil [Mon, 12 Jan 2009 20:45:40 +0000 (12:45 -0800)]
kclient: track COMPLETE flag on directories with RDCACHE; lookup ENOENT locally when possible

Maintain COMPLETE flag that indicates the client has all dentries for the
directory cached.  Only defined when holding FILE_RDCACHE cap.

16 years agomds: make Server use CDentry accessors
Sage Weil [Mon, 12 Jan 2009 18:32:02 +0000 (10:32 -0800)]
mds: make Server use CDentry accessors

16 years agokclient: handle case in which splice_dentry fails in fill_trace
Yehuda Sadeh [Mon, 12 Jan 2009 22:43:03 +0000 (14:43 -0800)]
kclient: handle case in which splice_dentry fails in fill_trace

16 years agokclient: avoid starvation when fsync on dir
Yehuda Sadeh [Mon, 12 Jan 2009 22:41:14 +0000 (14:41 -0800)]
kclient: avoid starvation when fsync on dir

16 years agomds: increase preallocated ino
Sage Weil [Mon, 12 Jan 2009 00:56:48 +0000 (16:56 -0800)]
mds: increase preallocated ino

Although we still seem to manage to use them all up...

16 years agomds: allow clients to traverse dentries they xlock.
Sage Weil [Mon, 12 Jan 2009 00:49:04 +0000 (16:49 -0800)]
mds: allow clients to traverse dentries they xlock.

This could be cleaner.. maybe CDentry::get_inode() should take
a client argument?  Would need to fix up direct access to
dn->inode...

16 years agomds: fix CInode::adjust_nested_auth_pin()
Sage Weil [Mon, 12 Jan 2009 00:48:02 +0000 (16:48 -0800)]
mds: fix CInode::adjust_nested_auth_pin()

Adjust nested_auth_pins even if no parent.  There will be eventually.

16 years agokclient: add missing parens in kick_requests
Sage Weil [Sun, 11 Jan 2009 20:02:08 +0000 (12:02 -0800)]
kclient: add missing parens in kick_requests

16 years agouclient: lease seq #'s; clean out inode leases
Sage Weil [Sun, 11 Jan 2009 20:01:52 +0000 (12:01 -0800)]
uclient: lease seq #'s; clean out inode leases

16 years agokclient: use lease seq #
Sage Weil [Sun, 11 Jan 2009 20:01:39 +0000 (12:01 -0800)]
kclient: use lease seq #

16 years agomds: introduce lease seq #
Sage Weil [Sun, 11 Jan 2009 20:01:07 +0000 (12:01 -0800)]
mds: introduce lease seq #

Only recognize a release message if the seq # matches.  This prevents
races between mds requested revocations and volunatry client releases.

16 years agoosd: fix ager missing open() arg
Sage Weil [Sat, 10 Jan 2009 05:21:49 +0000 (21:21 -0800)]
osd: fix ager missing open() arg

16 years agoosdmaptool: fix --test-map-pg
Sage Weil [Fri, 9 Jan 2009 23:19:40 +0000 (15:19 -0800)]
osdmaptool: fix --test-map-pg

16 years agotodo
Sage Weil [Fri, 9 Jan 2009 22:58:49 +0000 (14:58 -0800)]
todo

16 years agomds: do rename, unlink early replies; set_xlock_done as appropriate
Sage Weil [Fri, 9 Jan 2009 22:57:39 +0000 (14:57 -0800)]
mds: do rename, unlink early replies; set_xlock_done as appropriate

16 years agomds: early_reply for link, unlink, rename.
Sage Weil [Fri, 9 Jan 2009 22:46:08 +0000 (14:46 -0800)]
mds: early_reply for link, unlink, rename.

16 years agomds: by default, always wait for journal safe
Sage Weil [Fri, 9 Jan 2009 22:33:09 +0000 (14:33 -0800)]
mds: by default, always wait for journal safe

Waiting for just sync can make clients lose requests when mds and osds die
simultaneously.  Now that we have an early_reply, the performance impact
from always waiting for safe is mostly gone.

16 years agomds: wait for journal safe when doing ino allocations
Sage Weil [Fri, 9 Jan 2009 22:15:44 +0000 (14:15 -0800)]
mds: wait for journal safe when doing ino allocations

Stop-gap, I suppose.. we really want to wait for things to fully journal,
period.  Hmm.

16 years agokclient: resend unsafe requests just before to MClientReconnect
Sage Weil [Fri, 9 Jan 2009 21:54:46 +0000 (13:54 -0800)]
kclient: resend unsafe requests just before to MClientReconnect

This makes it clear ot the MDS which requests are being replayed (not that
it makes a difference at the moment).

16 years agokclient: list unsafe requests in the MDS session
Sage Weil [Fri, 9 Jan 2009 20:55:59 +0000 (12:55 -0800)]
kclient: list unsafe requests in the MDS session

This easily defines the requests needed during reconnect without having
to consult the larger request table.

16 years agokclient: break out __prepare_send_request helper
Sage Weil [Fri, 9 Jan 2009 20:49:17 +0000 (12:49 -0800)]
kclient: break out __prepare_send_request helper

This will be used for preparing the request when sent during reconnect
(instead of do_request, which exited after the first unsafe reply).

16 years agokclient: separate flag for got_safe and got_unsafe
Sage Weil [Fri, 9 Jan 2009 20:48:24 +0000 (12:48 -0800)]
kclient: separate flag for got_safe and got_unsafe

Slightly more informative debugging messages.  Avoid doing the safe cleanup
twice.

And the distinction will be important when replaying unsafe requests to
the mds during reconnect.  I think.

16 years agokclient: set ino in request if we got an early reply
Sage Weil [Fri, 9 Jan 2009 20:20:20 +0000 (12:20 -0800)]
kclient: set ino in request if we got an early reply

Make 'ino' a generic field so we don't have to look at the request type
when sending the message.  It'll be ignored by the MDS when it's not
relevant anyway.

16 years agokclient: missing spin_unlock
Yehuda Sadeh [Fri, 9 Jan 2009 20:41:14 +0000 (12:41 -0800)]
kclient: missing spin_unlock

16 years agokclient: replace radix tree with list for req dir listener
Yehuda Sadeh [Fri, 9 Jan 2009 20:38:02 +0000 (12:38 -0800)]
kclient: replace radix tree with list for req dir listener

16 years agokclient: listener tree should use GFP_ATOMIC
Yehuda Sadeh [Fri, 9 Jan 2009 19:34:33 +0000 (11:34 -0800)]
kclient: listener tree should use GFP_ATOMIC

16 years agokclient: remove extra mutex_unlock
Yehuda Sadeh [Thu, 8 Jan 2009 19:17:59 +0000 (11:17 -0800)]
kclient: remove extra mutex_unlock

16 years agostart.sh: add $CEPH_BIN
Yehuda Sadeh [Thu, 8 Jan 2009 18:38:15 +0000 (10:38 -0800)]
start.sh: add $CEPH_BIN

16 years agokclient: fix fsync for directories
Yehuda Sadeh [Thu, 8 Jan 2009 18:37:56 +0000 (10:37 -0800)]
kclient: fix fsync for directories

16 years agokclient: handle safe reply, sync dir waits for safe reply
Yehuda Sadeh [Tue, 6 Jan 2009 23:01:26 +0000 (15:01 -0800)]
kclient: handle safe reply, sync dir waits for safe reply

16 years agomds: can_xlock_soon() should include LOCK_LOCK
Sage Weil [Fri, 9 Jan 2009 18:44:02 +0000 (10:44 -0800)]
mds: can_xlock_soon() should include LOCK_LOCK

i.e., if we are already xlocked.  This avoids calling {file,scatter}_lock
on an already LOCK_LOCK lock.

16 years agomds: for wrlock when updating max_size in issue_caps()
Sage Weil [Fri, 9 Jan 2009 18:25:15 +0000 (10:25 -0800)]
mds: for wrlock when updating max_size in issue_caps()

If check_inode_max_size() changes the lock state, teh issue_caps local
values for *_allowed etc. are out of date, and we do the wrong thing.

And in any case, we can safely update max_size even when a wrlock isn't
normally allowed, e.g. when in LONER state.