NFSv4: Add tracepoints for debugging file locking
Set up basic tracepoints for debugging NFSv4 file lock/unlock Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -4964,8 +4964,9 @@ static int nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *
|
||||
int err;
|
||||
|
||||
do {
|
||||
err = nfs4_handle_exception(NFS_SERVER(state->inode),
|
||||
_nfs4_proc_getlk(state, cmd, request),
|
||||
err = _nfs4_proc_getlk(state, cmd, request);
|
||||
trace_nfs4_get_lock(request, state, cmd, err);
|
||||
err = nfs4_handle_exception(NFS_SERVER(state->inode), err,
|
||||
&exception);
|
||||
} while (exception.retry);
|
||||
return err;
|
||||
@@ -5163,6 +5164,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *
|
||||
rpc_put_task(task);
|
||||
out:
|
||||
request->fl_flags = fl_flags;
|
||||
trace_nfs4_unlock(request, state, F_SETLK, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -5386,6 +5388,7 @@ static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request
|
||||
if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0)
|
||||
return 0;
|
||||
err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_RECLAIM);
|
||||
trace_nfs4_lock_reclaim(request, state, F_SETLK, err);
|
||||
if (err != -NFS4ERR_DELAY)
|
||||
break;
|
||||
nfs4_handle_exception(server, err, &exception);
|
||||
@@ -5408,6 +5411,7 @@ static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request
|
||||
if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0)
|
||||
return 0;
|
||||
err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_EXPIRED);
|
||||
trace_nfs4_lock_expired(request, state, F_SETLK, err);
|
||||
switch (err) {
|
||||
default:
|
||||
goto out;
|
||||
@@ -5530,6 +5534,7 @@ static int nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *
|
||||
|
||||
do {
|
||||
err = _nfs4_proc_setlk(state, cmd, request);
|
||||
trace_nfs4_set_lock(request, state, cmd, err);
|
||||
if (err == -NFS4ERR_DENIED)
|
||||
err = -EAGAIN;
|
||||
err = nfs4_handle_exception(NFS_SERVER(state->inode),
|
||||
|
Reference in New Issue
Block a user