diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-12 16:35:20 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-22 08:58:22 -0400 |
commit | d1b748a5e71106481015e36ce327747b075bcbdc (patch) | |
tree | a2f27548947f369ebd60afcb0a57b52bae1863d0 /fs/nfs/nfs4proc.c | |
parent | 42113a75399353d87baf63956ab8f450958f1c8f (diff) |
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>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index d609198724ed..6d12c3eda17a 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -4964,8 +4964,9 @@ static int nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock * | |||
4964 | int err; | 4964 | int err; |
4965 | 4965 | ||
4966 | do { | 4966 | do { |
4967 | err = nfs4_handle_exception(NFS_SERVER(state->inode), | 4967 | err = _nfs4_proc_getlk(state, cmd, request); |
4968 | _nfs4_proc_getlk(state, cmd, request), | 4968 | trace_nfs4_get_lock(request, state, cmd, err); |
4969 | err = nfs4_handle_exception(NFS_SERVER(state->inode), err, | ||
4969 | &exception); | 4970 | &exception); |
4970 | } while (exception.retry); | 4971 | } while (exception.retry); |
4971 | return err; | 4972 | return err; |
@@ -5163,6 +5164,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock * | |||
5163 | rpc_put_task(task); | 5164 | rpc_put_task(task); |
5164 | out: | 5165 | out: |
5165 | request->fl_flags = fl_flags; | 5166 | request->fl_flags = fl_flags; |
5167 | trace_nfs4_unlock(request, state, F_SETLK, status); | ||
5166 | return status; | 5168 | return status; |
5167 | } | 5169 | } |
5168 | 5170 | ||
@@ -5386,6 +5388,7 @@ static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request | |||
5386 | if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0) | 5388 | if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0) |
5387 | return 0; | 5389 | return 0; |
5388 | err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_RECLAIM); | 5390 | err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_RECLAIM); |
5391 | trace_nfs4_lock_reclaim(request, state, F_SETLK, err); | ||
5389 | if (err != -NFS4ERR_DELAY) | 5392 | if (err != -NFS4ERR_DELAY) |
5390 | break; | 5393 | break; |
5391 | nfs4_handle_exception(server, err, &exception); | 5394 | nfs4_handle_exception(server, err, &exception); |
@@ -5408,6 +5411,7 @@ static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request | |||
5408 | if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0) | 5411 | if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0) |
5409 | return 0; | 5412 | return 0; |
5410 | err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_EXPIRED); | 5413 | err = _nfs4_do_setlk(state, F_SETLK, request, NFS_LOCK_EXPIRED); |
5414 | trace_nfs4_lock_expired(request, state, F_SETLK, err); | ||
5411 | switch (err) { | 5415 | switch (err) { |
5412 | default: | 5416 | default: |
5413 | goto out; | 5417 | goto out; |
@@ -5530,6 +5534,7 @@ static int nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock * | |||
5530 | 5534 | ||
5531 | do { | 5535 | do { |
5532 | err = _nfs4_proc_setlk(state, cmd, request); | 5536 | err = _nfs4_proc_setlk(state, cmd, request); |
5537 | trace_nfs4_set_lock(request, state, cmd, err); | ||
5533 | if (err == -NFS4ERR_DENIED) | 5538 | if (err == -NFS4ERR_DENIED) |
5534 | err = -EAGAIN; | 5539 | err = -EAGAIN; |
5535 | err = nfs4_handle_exception(NFS_SERVER(state->inode), | 5540 | err = nfs4_handle_exception(NFS_SERVER(state->inode), |