diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2011-08-06 15:16:59 -0400 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-10-24 12:13:12 -0400 |
commit | 348b59012e5c6402741d067cf6eeeb6271999d06 (patch) | |
tree | 38041cac7af6f020fa2756eded6a2d9f31132ffc /fs/9p | |
parent | ef6b0807e2c986d5f1cb878e1b32a7cf4c32b4c8 (diff) |
net/9p: Convert net/9p protocol dumps to tracepoints
This helps in more control over debugging.
root@qemu-img-64:~# ls /pass/123
ls: cannot access /pass/123: No such file or directory
root@qemu-img-64:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# TASK-PID CPU# TIMESTAMP FUNCTION
# | | | | |
ls-1536 [001] 70.928584: 9p_protocol_dump: clnt 18446612132784021504 P9_TWALK(tag = 1)
000: 16 00 00 00 6e 01 00 01 00 00 00 02 00 00 00 01
010: 00 03 00 31 32 33 00 00 00 ff ff ff ff 00 00 00
ls-1536 [001] 70.928587: <stack trace>
=> trace_9p_protocol_dump
=> p9pdu_finalize
=> p9_client_rpc
=> p9_client_walk
=> v9fs_vfs_lookup
=> d_alloc_and_lookup
=> walk_component
=> path_lookupat
ls-1536 [000] 70.929696: 9p_protocol_dump: clnt 18446612132784021504 P9_RLERROR(tag = 1)
000: 0b 00 00 00 07 01 00 02 00 00 00 4e 03 00 02 00
010: 00 00 00 00 03 00 02 00 00 00 00 00 ff 43 00 00
ls-1536 [000] 70.929697: <stack trace>
=> trace_9p_protocol_dump
=> p9_client_rpc
=> p9_client_walk
=> v9fs_vfs_lookup
=> d_alloc_and_lookup
=> walk_component
=> path_lookupat
=> do_path_lookup
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p')
-rw-r--r-- | fs/9p/vfs_dir.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index ce6600f33659..598fff1a54e5 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c | |||
@@ -165,9 +165,8 @@ static int v9fs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
165 | } | 165 | } |
166 | while (rdir->head < rdir->tail) { | 166 | while (rdir->head < rdir->tail) { |
167 | p9stat_init(&st); | 167 | p9stat_init(&st); |
168 | err = p9stat_read(rdir->buf + rdir->head, | 168 | err = p9stat_read(fid->clnt, rdir->buf + rdir->head, |
169 | rdir->tail - rdir->head, &st, | 169 | rdir->tail - rdir->head, &st); |
170 | fid->clnt->proto_version); | ||
171 | if (err) { | 170 | if (err) { |
172 | P9_DPRINTK(P9_DEBUG_VFS, "returned %d\n", err); | 171 | P9_DPRINTK(P9_DEBUG_VFS, "returned %d\n", err); |
173 | err = -EIO; | 172 | err = -EIO; |
@@ -241,10 +240,9 @@ static int v9fs_dir_readdir_dotl(struct file *filp, void *dirent, | |||
241 | 240 | ||
242 | while (rdir->head < rdir->tail) { | 241 | while (rdir->head < rdir->tail) { |
243 | 242 | ||
244 | err = p9dirent_read(rdir->buf + rdir->head, | 243 | err = p9dirent_read(fid->clnt, rdir->buf + rdir->head, |
245 | rdir->tail - rdir->head, | 244 | rdir->tail - rdir->head, |
246 | &curdirent, | 245 | &curdirent); |
247 | fid->clnt->proto_version); | ||
248 | if (err < 0) { | 246 | if (err < 0) { |
249 | P9_DPRINTK(P9_DEBUG_VFS, "returned %d\n", err); | 247 | P9_DPRINTK(P9_DEBUG_VFS, "returned %d\n", err); |
250 | err = -EIO; | 248 | err = -EIO; |