diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-02-07 00:42:19 -0500 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-02-07 00:42:19 -0500 |
commit | cf441eeb79c32471379f0a4d97feaef691432a03 (patch) | |
tree | 283347fcc807a87339a8244d3a45029eac90c825 /fs/xfs | |
parent | 44866d39282d0782b15fa4cb62aad937bf0a0897 (diff) |
[XFS] clean up vnode/inode tracing
Simplify vnode tracing calls by embedding function name & return addr in
the calling macro.
Also do a lot of vnode->inode renaming for consistency, while we're at it.
SGI-PV: 970335
SGI-Modid: xfs-linux-melb:xfs-kern:29650a
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 3 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl.c | 3 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 9 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vnode.c | 26 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vnode.h | 51 | ||||
-rw-r--r-- | fs/xfs/xfs.h | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_dir2.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_iget.c | 10 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.c | 6 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.h | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_rename.c | 8 | ||||
-rw-r--r-- | fs/xfs/xfs_utils.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_utils.h | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 60 |
14 files changed, 91 insertions, 95 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index 2e34b104107c..31269cbd5e1a 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c | |||
@@ -1525,8 +1525,7 @@ xfs_vm_bmap( | |||
1525 | struct inode *inode = (struct inode *)mapping->host; | 1525 | struct inode *inode = (struct inode *)mapping->host; |
1526 | struct xfs_inode *ip = XFS_I(inode); | 1526 | struct xfs_inode *ip = XFS_I(inode); |
1527 | 1527 | ||
1528 | vn_trace_entry(XFS_I(inode), __FUNCTION__, | 1528 | xfs_itrace_entry(XFS_I(inode)); |
1529 | (inst_t *)__return_address); | ||
1530 | xfs_rwlock(ip, VRWLOCK_READ); | 1529 | xfs_rwlock(ip, VRWLOCK_READ); |
1531 | xfs_flush_pages(ip, (xfs_off_t)0, -1, 0, FI_REMAPF); | 1530 | xfs_flush_pages(ip, (xfs_off_t)0, -1, 0, FI_REMAPF); |
1532 | xfs_rwunlock(ip, VRWLOCK_READ); | 1531 | xfs_rwunlock(ip, VRWLOCK_READ); |
diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c index 98a56568bb24..30bb994d2899 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl.c +++ b/fs/xfs/linux-2.6/xfs_ioctl.c | |||
@@ -739,8 +739,7 @@ xfs_ioctl( | |||
739 | xfs_mount_t *mp = ip->i_mount; | 739 | xfs_mount_t *mp = ip->i_mount; |
740 | int error; | 740 | int error; |
741 | 741 | ||
742 | vn_trace_entry(XFS_I(inode), "xfs_ioctl", (inst_t *)__return_address); | 742 | xfs_itrace_entry(XFS_I(inode)); |
743 | |||
744 | switch (cmd) { | 743 | switch (cmd) { |
745 | 744 | ||
746 | case XFS_IOC_ALLOCSP: | 745 | case XFS_IOC_ALLOCSP: |
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 8cb63c60c048..400ed2f20717 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -410,8 +410,7 @@ xfs_fs_write_inode( | |||
410 | { | 410 | { |
411 | int error = 0, flags = FLUSH_INODE; | 411 | int error = 0, flags = FLUSH_INODE; |
412 | 412 | ||
413 | vn_trace_entry(XFS_I(inode), __FUNCTION__, | 413 | xfs_itrace_entry(XFS_I(inode)); |
414 | (inst_t *)__return_address); | ||
415 | if (sync) { | 414 | if (sync) { |
416 | filemap_fdatawait(inode->i_mapping); | 415 | filemap_fdatawait(inode->i_mapping); |
417 | flags |= FLUSH_SYNC; | 416 | flags |= FLUSH_SYNC; |
@@ -438,8 +437,7 @@ xfs_fs_clear_inode( | |||
438 | * find an inode with di_mode == 0 but without IGET_CREATE set. | 437 | * find an inode with di_mode == 0 but without IGET_CREATE set. |
439 | */ | 438 | */ |
440 | if (ip) { | 439 | if (ip) { |
441 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 440 | xfs_itrace_entry(ip); |
442 | |||
443 | XFS_STATS_INC(vn_rele); | 441 | XFS_STATS_INC(vn_rele); |
444 | XFS_STATS_INC(vn_remove); | 442 | XFS_STATS_INC(vn_remove); |
445 | XFS_STATS_INC(vn_reclaim); | 443 | XFS_STATS_INC(vn_reclaim); |
@@ -841,8 +839,7 @@ xfs_fs_fill_super( | |||
841 | goto fail_vnrele; | 839 | goto fail_vnrele; |
842 | } | 840 | } |
843 | 841 | ||
844 | vn_trace_exit(XFS_I(sb->s_root->d_inode), __FUNCTION__, | 842 | xfs_itrace_exit(XFS_I(sb->s_root->d_inode)); |
845 | (inst_t *)__return_address); | ||
846 | 843 | ||
847 | kmem_free(args, sizeof(*args)); | 844 | kmem_free(args, sizeof(*args)); |
848 | return 0; | 845 | return 0; |
diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c index 814169fd7e1e..e16b3e40015d 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.c +++ b/fs/xfs/linux-2.6/xfs_vnode.c | |||
@@ -143,7 +143,7 @@ __vn_revalidate( | |||
143 | { | 143 | { |
144 | int error; | 144 | int error; |
145 | 145 | ||
146 | vn_trace_entry(xfs_vtoi(vp), __FUNCTION__, (inst_t *)__return_address); | 146 | xfs_itrace_entry(xfs_vtoi(vp)); |
147 | vattr->va_mask = XFS_AT_STAT | XFS_AT_XFLAGS; | 147 | vattr->va_mask = XFS_AT_STAT | XFS_AT_XFLAGS; |
148 | error = xfs_getattr(xfs_vtoi(vp), vattr, 0); | 148 | error = xfs_getattr(xfs_vtoi(vp), vattr, 0); |
149 | if (likely(!error)) { | 149 | if (likely(!error)) { |
@@ -179,7 +179,7 @@ vn_hold( | |||
179 | return vp; | 179 | return vp; |
180 | } | 180 | } |
181 | 181 | ||
182 | #ifdef XFS_VNODE_TRACE | 182 | #ifdef XFS_INODE_TRACE |
183 | 183 | ||
184 | /* | 184 | /* |
185 | * Reference count of Linux inode if present, -1 if the xfs_inode | 185 | * Reference count of Linux inode if present, -1 if the xfs_inode |
@@ -211,32 +211,32 @@ static inline int xfs_icount(struct xfs_inode *ip) | |||
211 | * Vnode tracing code. | 211 | * Vnode tracing code. |
212 | */ | 212 | */ |
213 | void | 213 | void |
214 | vn_trace_entry(xfs_inode_t *ip, const char *func, inst_t *ra) | 214 | _xfs_itrace_entry(xfs_inode_t *ip, const char *func, inst_t *ra) |
215 | { | 215 | { |
216 | KTRACE_ENTER(ip, VNODE_KTRACE_ENTRY, func, 0, ra); | 216 | KTRACE_ENTER(ip, INODE_KTRACE_ENTRY, func, 0, ra); |
217 | } | 217 | } |
218 | 218 | ||
219 | void | 219 | void |
220 | vn_trace_exit(xfs_inode_t *ip, const char *func, inst_t *ra) | 220 | _xfs_itrace_exit(xfs_inode_t *ip, const char *func, inst_t *ra) |
221 | { | 221 | { |
222 | KTRACE_ENTER(ip, VNODE_KTRACE_EXIT, func, 0, ra); | 222 | KTRACE_ENTER(ip, INODE_KTRACE_EXIT, func, 0, ra); |
223 | } | 223 | } |
224 | 224 | ||
225 | void | 225 | void |
226 | vn_trace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra) | 226 | xfs_itrace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra) |
227 | { | 227 | { |
228 | KTRACE_ENTER(ip, VNODE_KTRACE_HOLD, file, line, ra); | 228 | KTRACE_ENTER(ip, INODE_KTRACE_HOLD, file, line, ra); |
229 | } | 229 | } |
230 | 230 | ||
231 | void | 231 | void |
232 | vn_trace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra) | 232 | _xfs_itrace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra) |
233 | { | 233 | { |
234 | KTRACE_ENTER(ip, VNODE_KTRACE_REF, file, line, ra); | 234 | KTRACE_ENTER(ip, INODE_KTRACE_REF, file, line, ra); |
235 | } | 235 | } |
236 | 236 | ||
237 | void | 237 | void |
238 | vn_trace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra) | 238 | xfs_itrace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra) |
239 | { | 239 | { |
240 | KTRACE_ENTER(ip, VNODE_KTRACE_RELE, file, line, ra); | 240 | KTRACE_ENTER(ip, INODE_KTRACE_RELE, file, line, ra); |
241 | } | 241 | } |
242 | #endif /* XFS_VNODE_TRACE */ | 242 | #endif /* XFS_INODE_TRACE */ |
diff --git a/fs/xfs/linux-2.6/xfs_vnode.h b/fs/xfs/linux-2.6/xfs_vnode.h index 55fb46948589..09763067da11 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.h +++ b/fs/xfs/linux-2.6/xfs_vnode.h | |||
@@ -210,12 +210,12 @@ static inline int vn_count(bhv_vnode_t *vp) | |||
210 | */ | 210 | */ |
211 | extern bhv_vnode_t *vn_hold(bhv_vnode_t *); | 211 | extern bhv_vnode_t *vn_hold(bhv_vnode_t *); |
212 | 212 | ||
213 | #if defined(XFS_VNODE_TRACE) | 213 | #if defined(XFS_INODE_TRACE) |
214 | #define VN_HOLD(vp) \ | 214 | #define VN_HOLD(vp) \ |
215 | ((void)vn_hold(vp), \ | 215 | ((void)vn_hold(vp), \ |
216 | vn_trace_hold(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address)) | 216 | xfs_itrace_hold(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address)) |
217 | #define VN_RELE(vp) \ | 217 | #define VN_RELE(vp) \ |
218 | (vn_trace_rele(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address), \ | 218 | (xfs_itrace_rele(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address), \ |
219 | iput(vn_to_inode(vp))) | 219 | iput(vn_to_inode(vp))) |
220 | #else | 220 | #else |
221 | #define VN_HOLD(vp) ((void)vn_hold(vp)) | 221 | #define VN_HOLD(vp) ((void)vn_hold(vp)) |
@@ -296,26 +296,33 @@ static inline void vn_atime_to_time_t(bhv_vnode_t *vp, time_t *tt) | |||
296 | /* | 296 | /* |
297 | * Tracking vnode activity. | 297 | * Tracking vnode activity. |
298 | */ | 298 | */ |
299 | #if defined(XFS_VNODE_TRACE) | 299 | #if defined(XFS_INODE_TRACE) |
300 | 300 | ||
301 | #define VNODE_TRACE_SIZE 16 /* number of trace entries */ | 301 | #define INODE_TRACE_SIZE 16 /* number of trace entries */ |
302 | #define VNODE_KTRACE_ENTRY 1 | 302 | #define INODE_KTRACE_ENTRY 1 |
303 | #define VNODE_KTRACE_EXIT 2 | 303 | #define INODE_KTRACE_EXIT 2 |
304 | #define VNODE_KTRACE_HOLD 3 | 304 | #define INODE_KTRACE_HOLD 3 |
305 | #define VNODE_KTRACE_REF 4 | 305 | #define INODE_KTRACE_REF 4 |
306 | #define VNODE_KTRACE_RELE 5 | 306 | #define INODE_KTRACE_RELE 5 |
307 | 307 | ||
308 | extern void vn_trace_entry(struct xfs_inode *, const char *, inst_t *); | 308 | extern void _xfs_itrace_entry(struct xfs_inode *, const char *, inst_t *); |
309 | extern void vn_trace_exit(struct xfs_inode *, const char *, inst_t *); | 309 | extern void _xfs_itrace_exit(struct xfs_inode *, const char *, inst_t *); |
310 | extern void vn_trace_hold(struct xfs_inode *, char *, int, inst_t *); | 310 | extern void xfs_itrace_hold(struct xfs_inode *, char *, int, inst_t *); |
311 | extern void vn_trace_ref(struct xfs_inode *, char *, int, inst_t *); | 311 | extern void _xfs_itrace_ref(struct xfs_inode *, char *, int, inst_t *); |
312 | extern void vn_trace_rele(struct xfs_inode *, char *, int, inst_t *); | 312 | extern void xfs_itrace_rele(struct xfs_inode *, char *, int, inst_t *); |
313 | #define xfs_itrace_entry(ip) \ | ||
314 | _xfs_itrace_entry(ip, __FUNCTION__, (inst_t *)__return_address) | ||
315 | #define xfs_itrace_exit(ip) \ | ||
316 | _xfs_itrace_exit(ip, __FUNCTION__, (inst_t *)__return_address) | ||
317 | #define xfs_itrace_ref(ip) \ | ||
318 | _xfs_itrace_ref(ip, __FILE__, __LINE__, (inst_t *)__return_address) | ||
319 | |||
313 | #else | 320 | #else |
314 | #define vn_trace_entry(a,b,c) | 321 | #define xfs_itrace_entry(a) |
315 | #define vn_trace_exit(a,b,c) | 322 | #define xfs_itrace_exit(a) |
316 | #define vn_trace_hold(a,b,c,d) | 323 | #define xfs_itrace_hold(a, b, c, d) |
317 | #define vn_trace_ref(a,b,c,d) | 324 | #define xfs_itrace_ref(a) |
318 | #define vn_trace_rele(a,b,c,d) | 325 | #define xfs_itrace_rele(a, b, c, d) |
319 | #endif | 326 | #endif |
320 | 327 | ||
321 | #endif /* __XFS_VNODE_H__ */ | 328 | #endif /* __XFS_VNODE_H__ */ |
diff --git a/fs/xfs/xfs.h b/fs/xfs/xfs.h index b5a7d92c6843..540e4c989825 100644 --- a/fs/xfs/xfs.h +++ b/fs/xfs/xfs.h | |||
@@ -37,7 +37,7 @@ | |||
37 | #define XFS_LOG_TRACE 1 | 37 | #define XFS_LOG_TRACE 1 |
38 | #define XFS_RW_TRACE 1 | 38 | #define XFS_RW_TRACE 1 |
39 | #define XFS_BUF_TRACE 1 | 39 | #define XFS_BUF_TRACE 1 |
40 | #define XFS_VNODE_TRACE 1 | 40 | #define XFS_INODE_TRACE 1 |
41 | #define XFS_FILESTREAMS_TRACE 1 | 41 | #define XFS_FILESTREAMS_TRACE 1 |
42 | #endif | 42 | #endif |
43 | 43 | ||
diff --git a/fs/xfs/xfs_dir2.c b/fs/xfs/xfs_dir2.c index b0f1ee8fcb90..1e22133178d3 100644 --- a/fs/xfs/xfs_dir2.c +++ b/fs/xfs/xfs_dir2.c | |||
@@ -301,7 +301,7 @@ xfs_readdir( | |||
301 | int rval; /* return value */ | 301 | int rval; /* return value */ |
302 | int v; /* type-checking value */ | 302 | int v; /* type-checking value */ |
303 | 303 | ||
304 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 304 | xfs_itrace_entry(dp); |
305 | 305 | ||
306 | if (XFS_FORCED_SHUTDOWN(dp->i_mount)) | 306 | if (XFS_FORCED_SHUTDOWN(dp->i_mount)) |
307 | return XFS_ERROR(EIO); | 307 | return XFS_ERROR(EIO); |
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c index fb69ef180b27..5363025ded7e 100644 --- a/fs/xfs/xfs_iget.c +++ b/fs/xfs/xfs_iget.c | |||
@@ -157,7 +157,7 @@ again: | |||
157 | goto again; | 157 | goto again; |
158 | } | 158 | } |
159 | 159 | ||
160 | vn_trace_exit(ip, "xfs_iget.alloc", | 160 | _xfs_itrace_exit(ip, "xfs_iget.alloc", |
161 | (inst_t *)__return_address); | 161 | (inst_t *)__return_address); |
162 | 162 | ||
163 | XFS_STATS_INC(xs_ig_found); | 163 | XFS_STATS_INC(xs_ig_found); |
@@ -212,7 +212,7 @@ finish_inode: | |||
212 | xfs_ilock(ip, lock_flags); | 212 | xfs_ilock(ip, lock_flags); |
213 | 213 | ||
214 | xfs_iflags_clear(ip, XFS_ISTALE); | 214 | xfs_iflags_clear(ip, XFS_ISTALE); |
215 | vn_trace_exit(ip, "xfs_iget.found", | 215 | _xfs_itrace_exit(ip, "xfs_iget.found", |
216 | (inst_t *)__return_address); | 216 | (inst_t *)__return_address); |
217 | goto return_ip; | 217 | goto return_ip; |
218 | } | 218 | } |
@@ -234,7 +234,7 @@ finish_inode: | |||
234 | return error; | 234 | return error; |
235 | } | 235 | } |
236 | 236 | ||
237 | vn_trace_exit(ip, "xfs_iget.alloc", (inst_t *)__return_address); | 237 | _xfs_itrace_exit(ip, "xfs_iget.alloc", (inst_t *)__return_address); |
238 | 238 | ||
239 | xfs_inode_lock_init(ip, vp); | 239 | xfs_inode_lock_init(ip, vp); |
240 | xfs_iocore_inode_init(ip); | 240 | xfs_iocore_inode_init(ip); |
@@ -467,7 +467,7 @@ xfs_iput(xfs_inode_t *ip, | |||
467 | { | 467 | { |
468 | bhv_vnode_t *vp = XFS_ITOV(ip); | 468 | bhv_vnode_t *vp = XFS_ITOV(ip); |
469 | 469 | ||
470 | vn_trace_entry(ip, "xfs_iput", (inst_t *)__return_address); | 470 | xfs_itrace_entry(ip); |
471 | xfs_iunlock(ip, lock_flags); | 471 | xfs_iunlock(ip, lock_flags); |
472 | VN_RELE(vp); | 472 | VN_RELE(vp); |
473 | } | 473 | } |
@@ -482,7 +482,7 @@ xfs_iput_new(xfs_inode_t *ip, | |||
482 | bhv_vnode_t *vp = XFS_ITOV(ip); | 482 | bhv_vnode_t *vp = XFS_ITOV(ip); |
483 | struct inode *inode = vn_to_inode(vp); | 483 | struct inode *inode = vn_to_inode(vp); |
484 | 484 | ||
485 | vn_trace_entry(ip, "xfs_iput_new", (inst_t *)__return_address); | 485 | xfs_itrace_entry(ip); |
486 | 486 | ||
487 | if ((ip->i_d.di_mode == 0)) { | 487 | if ((ip->i_d.di_mode == 0)) { |
488 | ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE)); | 488 | ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE)); |
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 344948082819..fc2055e64279 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -884,8 +884,8 @@ xfs_iread( | |||
884 | * Initialize inode's trace buffers. | 884 | * Initialize inode's trace buffers. |
885 | * Do this before xfs_iformat in case it adds entries. | 885 | * Do this before xfs_iformat in case it adds entries. |
886 | */ | 886 | */ |
887 | #ifdef XFS_VNODE_TRACE | 887 | #ifdef XFS_INODE_TRACE |
888 | ip->i_trace = ktrace_alloc(VNODE_TRACE_SIZE, KM_SLEEP); | 888 | ip->i_trace = ktrace_alloc(INODE_TRACE_SIZE, KM_SLEEP); |
889 | #endif | 889 | #endif |
890 | #ifdef XFS_BMAP_TRACE | 890 | #ifdef XFS_BMAP_TRACE |
891 | ip->i_xtrace = ktrace_alloc(XFS_BMAP_KTRACE_SIZE, KM_SLEEP); | 891 | ip->i_xtrace = ktrace_alloc(XFS_BMAP_KTRACE_SIZE, KM_SLEEP); |
@@ -2749,7 +2749,7 @@ xfs_idestroy( | |||
2749 | mrfree(&ip->i_iolock); | 2749 | mrfree(&ip->i_iolock); |
2750 | freesema(&ip->i_flock); | 2750 | freesema(&ip->i_flock); |
2751 | 2751 | ||
2752 | #ifdef XFS_VNODE_TRACE | 2752 | #ifdef XFS_INODE_TRACE |
2753 | ktrace_free(ip->i_trace); | 2753 | ktrace_free(ip->i_trace); |
2754 | #endif | 2754 | #endif |
2755 | #ifdef XFS_BMAP_TRACE | 2755 | #ifdef XFS_BMAP_TRACE |
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index e5aff929cc65..f93d2ca654b5 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -300,7 +300,7 @@ typedef struct xfs_inode { | |||
300 | xfs_fsize_t i_size; /* in-memory size */ | 300 | xfs_fsize_t i_size; /* in-memory size */ |
301 | atomic_t i_iocount; /* outstanding I/O count */ | 301 | atomic_t i_iocount; /* outstanding I/O count */ |
302 | /* Trace buffers per inode. */ | 302 | /* Trace buffers per inode. */ |
303 | #ifdef XFS_VNODE_TRACE | 303 | #ifdef XFS_INODE_TRACE |
304 | struct ktrace *i_trace; /* general inode trace */ | 304 | struct ktrace *i_trace; /* general inode trace */ |
305 | #endif | 305 | #endif |
306 | #ifdef XFS_BMAP_TRACE | 306 | #ifdef XFS_BMAP_TRACE |
diff --git a/fs/xfs/xfs_rename.c b/fs/xfs/xfs_rename.c index 44ea0ba36476..17e7496bdd5f 100644 --- a/fs/xfs/xfs_rename.c +++ b/fs/xfs/xfs_rename.c | |||
@@ -118,7 +118,7 @@ xfs_lock_for_rename( | |||
118 | inum1 = ip1->i_ino; | 118 | inum1 = ip1->i_ino; |
119 | 119 | ||
120 | ASSERT(ip1); | 120 | ASSERT(ip1); |
121 | ITRACE(ip1); | 121 | xfs_itrace_ref(ip1); |
122 | 122 | ||
123 | /* | 123 | /* |
124 | * Unlock dp1 and lock dp2 if they are different. | 124 | * Unlock dp1 and lock dp2 if they are different. |
@@ -141,7 +141,7 @@ xfs_lock_for_rename( | |||
141 | IRELE (ip1); | 141 | IRELE (ip1); |
142 | return error; | 142 | return error; |
143 | } else { | 143 | } else { |
144 | ITRACE(ip2); | 144 | xfs_itrace_ref(ip2); |
145 | } | 145 | } |
146 | 146 | ||
147 | /* | 147 | /* |
@@ -247,8 +247,8 @@ xfs_rename( | |||
247 | int src_namelen = VNAMELEN(src_vname); | 247 | int src_namelen = VNAMELEN(src_vname); |
248 | int target_namelen = VNAMELEN(target_vname); | 248 | int target_namelen = VNAMELEN(target_vname); |
249 | 249 | ||
250 | vn_trace_entry(src_dp, "xfs_rename", (inst_t *)__return_address); | 250 | xfs_itrace_entry(src_dp); |
251 | vn_trace_entry(xfs_vtoi(target_dir_vp), "xfs_rename", (inst_t *)__return_address); | 251 | xfs_itrace_entry(xfs_vtoi(target_dir_vp)); |
252 | 252 | ||
253 | /* | 253 | /* |
254 | * Find the XFS behavior descriptor for the target directory | 254 | * Find the XFS behavior descriptor for the target directory |
diff --git a/fs/xfs/xfs_utils.c b/fs/xfs/xfs_utils.c index 673b405eaa31..a02b944c6c7b 100644 --- a/fs/xfs/xfs_utils.c +++ b/fs/xfs/xfs_utils.c | |||
@@ -73,7 +73,7 @@ xfs_dir_lookup_int( | |||
73 | { | 73 | { |
74 | int error; | 74 | int error; |
75 | 75 | ||
76 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 76 | xfs_itrace_entry(dp); |
77 | 77 | ||
78 | error = xfs_dir_lookup(NULL, dp, VNAME(dentry), VNAMELEN(dentry), inum); | 78 | error = xfs_dir_lookup(NULL, dp, VNAME(dentry), VNAMELEN(dentry), inum); |
79 | if (!error) { | 79 | if (!error) { |
diff --git a/fs/xfs/xfs_utils.h b/fs/xfs/xfs_utils.h index a00b26d8840e..f857fcccb723 100644 --- a/fs/xfs/xfs_utils.h +++ b/fs/xfs/xfs_utils.h | |||
@@ -20,8 +20,6 @@ | |||
20 | 20 | ||
21 | #define IRELE(ip) VN_RELE(XFS_ITOV(ip)) | 21 | #define IRELE(ip) VN_RELE(XFS_ITOV(ip)) |
22 | #define IHOLD(ip) VN_HOLD(XFS_ITOV(ip)) | 22 | #define IHOLD(ip) VN_HOLD(XFS_ITOV(ip)) |
23 | #define ITRACE(ip) vn_trace_ref(ip, __FILE__, __LINE__, \ | ||
24 | (inst_t *)__return_address) | ||
25 | 23 | ||
26 | extern int xfs_get_dir_entry (bhv_vname_t *, xfs_inode_t **); | 24 | extern int xfs_get_dir_entry (bhv_vname_t *, xfs_inode_t **); |
27 | extern int xfs_dir_lookup_int (xfs_inode_t *, uint, bhv_vname_t *, xfs_ino_t *, | 25 | extern int xfs_dir_lookup_int (xfs_inode_t *, uint, bhv_vname_t *, xfs_ino_t *, |
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index efd5aff9eaf6..daba528bcc33 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c | |||
@@ -88,7 +88,7 @@ xfs_getattr( | |||
88 | bhv_vnode_t *vp = XFS_ITOV(ip); | 88 | bhv_vnode_t *vp = XFS_ITOV(ip); |
89 | xfs_mount_t *mp = ip->i_mount; | 89 | xfs_mount_t *mp = ip->i_mount; |
90 | 90 | ||
91 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 91 | xfs_itrace_entry(ip); |
92 | 92 | ||
93 | if (XFS_FORCED_SHUTDOWN(mp)) | 93 | if (XFS_FORCED_SHUTDOWN(mp)) |
94 | return XFS_ERROR(EIO); | 94 | return XFS_ERROR(EIO); |
@@ -228,7 +228,7 @@ xfs_setattr( | |||
228 | int file_owner; | 228 | int file_owner; |
229 | int need_iolock = 1; | 229 | int need_iolock = 1; |
230 | 230 | ||
231 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 231 | xfs_itrace_entry(ip); |
232 | 232 | ||
233 | if (mp->m_flags & XFS_MOUNT_RDONLY) | 233 | if (mp->m_flags & XFS_MOUNT_RDONLY) |
234 | return XFS_ERROR(EROFS); | 234 | return XFS_ERROR(EROFS); |
@@ -915,8 +915,7 @@ xfs_access( | |||
915 | { | 915 | { |
916 | int error; | 916 | int error; |
917 | 917 | ||
918 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 918 | xfs_itrace_entry(ip); |
919 | |||
920 | xfs_ilock(ip, XFS_ILOCK_SHARED); | 919 | xfs_ilock(ip, XFS_ILOCK_SHARED); |
921 | error = xfs_iaccess(ip, mode, credp); | 920 | error = xfs_iaccess(ip, mode, credp); |
922 | xfs_iunlock(ip, XFS_ILOCK_SHARED); | 921 | xfs_iunlock(ip, XFS_ILOCK_SHARED); |
@@ -987,7 +986,7 @@ xfs_readlink( | |||
987 | int pathlen; | 986 | int pathlen; |
988 | int error = 0; | 987 | int error = 0; |
989 | 988 | ||
990 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 989 | xfs_itrace_entry(ip); |
991 | 990 | ||
992 | if (XFS_FORCED_SHUTDOWN(mp)) | 991 | if (XFS_FORCED_SHUTDOWN(mp)) |
993 | return XFS_ERROR(EIO); | 992 | return XFS_ERROR(EIO); |
@@ -1033,7 +1032,7 @@ xfs_fsync( | |||
1033 | int error; | 1032 | int error; |
1034 | int log_flushed = 0, changed = 1; | 1033 | int log_flushed = 0, changed = 1; |
1035 | 1034 | ||
1036 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 1035 | xfs_itrace_entry(ip); |
1037 | 1036 | ||
1038 | ASSERT(start >= 0 && stop >= -1); | 1037 | ASSERT(start >= 0 && stop >= -1); |
1039 | 1038 | ||
@@ -1592,7 +1591,7 @@ xfs_inactive( | |||
1592 | int error; | 1591 | int error; |
1593 | int truncate; | 1592 | int truncate; |
1594 | 1593 | ||
1595 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 1594 | xfs_itrace_entry(ip); |
1596 | 1595 | ||
1597 | /* | 1596 | /* |
1598 | * If the inode is already free, then there can be nothing | 1597 | * If the inode is already free, then there can be nothing |
@@ -1805,7 +1804,7 @@ xfs_lookup( | |||
1805 | int error; | 1804 | int error; |
1806 | uint lock_mode; | 1805 | uint lock_mode; |
1807 | 1806 | ||
1808 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 1807 | xfs_itrace_entry(dp); |
1809 | 1808 | ||
1810 | if (XFS_FORCED_SHUTDOWN(dp->i_mount)) | 1809 | if (XFS_FORCED_SHUTDOWN(dp->i_mount)) |
1811 | return XFS_ERROR(EIO); | 1810 | return XFS_ERROR(EIO); |
@@ -1814,7 +1813,7 @@ xfs_lookup( | |||
1814 | error = xfs_dir_lookup_int(dp, lock_mode, dentry, &e_inum, &ip); | 1813 | error = xfs_dir_lookup_int(dp, lock_mode, dentry, &e_inum, &ip); |
1815 | if (!error) { | 1814 | if (!error) { |
1816 | *vpp = XFS_ITOV(ip); | 1815 | *vpp = XFS_ITOV(ip); |
1817 | ITRACE(ip); | 1816 | xfs_itrace_ref(ip); |
1818 | } | 1817 | } |
1819 | xfs_iunlock_map_shared(dp, lock_mode); | 1818 | xfs_iunlock_map_shared(dp, lock_mode); |
1820 | return error; | 1819 | return error; |
@@ -1848,7 +1847,7 @@ xfs_create( | |||
1848 | int namelen; | 1847 | int namelen; |
1849 | 1848 | ||
1850 | ASSERT(!*vpp); | 1849 | ASSERT(!*vpp); |
1851 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 1850 | xfs_itrace_entry(dp); |
1852 | 1851 | ||
1853 | namelen = VNAMELEN(dentry); | 1852 | namelen = VNAMELEN(dentry); |
1854 | 1853 | ||
@@ -1930,7 +1929,7 @@ xfs_create( | |||
1930 | goto error_return; | 1929 | goto error_return; |
1931 | goto abort_return; | 1930 | goto abort_return; |
1932 | } | 1931 | } |
1933 | ITRACE(ip); | 1932 | xfs_itrace_ref(ip); |
1934 | 1933 | ||
1935 | /* | 1934 | /* |
1936 | * At this point, we've gotten a newly allocated inode. | 1935 | * At this point, we've gotten a newly allocated inode. |
@@ -2098,7 +2097,7 @@ again: | |||
2098 | 2097 | ||
2099 | e_inum = ip->i_ino; | 2098 | e_inum = ip->i_ino; |
2100 | 2099 | ||
2101 | ITRACE(ip); | 2100 | xfs_itrace_ref(ip); |
2102 | 2101 | ||
2103 | /* | 2102 | /* |
2104 | * We want to lock in increasing inum. Since we've already | 2103 | * We want to lock in increasing inum. Since we've already |
@@ -2321,7 +2320,7 @@ xfs_remove( | |||
2321 | uint resblks; | 2320 | uint resblks; |
2322 | int namelen; | 2321 | int namelen; |
2323 | 2322 | ||
2324 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 2323 | xfs_itrace_entry(dp); |
2325 | 2324 | ||
2326 | if (XFS_FORCED_SHUTDOWN(mp)) | 2325 | if (XFS_FORCED_SHUTDOWN(mp)) |
2327 | return XFS_ERROR(EIO); | 2326 | return XFS_ERROR(EIO); |
@@ -2364,9 +2363,8 @@ xfs_remove( | |||
2364 | 2363 | ||
2365 | dm_di_mode = ip->i_d.di_mode; | 2364 | dm_di_mode = ip->i_d.di_mode; |
2366 | 2365 | ||
2367 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 2366 | xfs_itrace_entry(ip); |
2368 | 2367 | xfs_itrace_ref(ip); | |
2369 | ITRACE(ip); | ||
2370 | 2368 | ||
2371 | error = XFS_QM_DQATTACH(mp, dp, 0); | 2369 | error = XFS_QM_DQATTACH(mp, dp, 0); |
2372 | if (!error && dp != ip) | 2370 | if (!error && dp != ip) |
@@ -2498,8 +2496,7 @@ xfs_remove( | |||
2498 | if (link_zero && xfs_inode_is_filestream(ip)) | 2496 | if (link_zero && xfs_inode_is_filestream(ip)) |
2499 | xfs_filestream_deassociate(ip); | 2497 | xfs_filestream_deassociate(ip); |
2500 | 2498 | ||
2501 | vn_trace_exit(ip, __FUNCTION__, (inst_t *)__return_address); | 2499 | xfs_itrace_exit(ip); |
2502 | |||
2503 | IRELE(ip); | 2500 | IRELE(ip); |
2504 | 2501 | ||
2505 | /* Fall through to std_return with error = 0 */ | 2502 | /* Fall through to std_return with error = 0 */ |
@@ -2562,8 +2559,8 @@ xfs_link( | |||
2562 | char *target_name = VNAME(dentry); | 2559 | char *target_name = VNAME(dentry); |
2563 | int target_namelen; | 2560 | int target_namelen; |
2564 | 2561 | ||
2565 | vn_trace_entry(tdp, __FUNCTION__, (inst_t *)__return_address); | 2562 | xfs_itrace_entry(tdp); |
2566 | vn_trace_entry(xfs_vtoi(src_vp), __FUNCTION__, (inst_t *)__return_address); | 2563 | xfs_itrace_entry(xfs_vtoi(src_vp)); |
2567 | 2564 | ||
2568 | target_namelen = VNAMELEN(dentry); | 2565 | target_namelen = VNAMELEN(dentry); |
2569 | ASSERT(!VN_ISDIR(src_vp)); | 2566 | ASSERT(!VN_ISDIR(src_vp)); |
@@ -2744,7 +2741,7 @@ xfs_mkdir( | |||
2744 | 2741 | ||
2745 | /* Return through std_return after this point. */ | 2742 | /* Return through std_return after this point. */ |
2746 | 2743 | ||
2747 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 2744 | xfs_itrace_entry(dp); |
2748 | 2745 | ||
2749 | mp = dp->i_mount; | 2746 | mp = dp->i_mount; |
2750 | udqp = gdqp = NULL; | 2747 | udqp = gdqp = NULL; |
@@ -2810,7 +2807,7 @@ xfs_mkdir( | |||
2810 | goto error_return; | 2807 | goto error_return; |
2811 | goto abort_return; | 2808 | goto abort_return; |
2812 | } | 2809 | } |
2813 | ITRACE(cdp); | 2810 | xfs_itrace_ref(cdp); |
2814 | 2811 | ||
2815 | /* | 2812 | /* |
2816 | * Now we add the directory inode to the transaction. | 2813 | * Now we add the directory inode to the transaction. |
@@ -2936,7 +2933,7 @@ xfs_rmdir( | |||
2936 | int last_cdp_link; | 2933 | int last_cdp_link; |
2937 | uint resblks; | 2934 | uint resblks; |
2938 | 2935 | ||
2939 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 2936 | xfs_itrace_entry(dp); |
2940 | 2937 | ||
2941 | if (XFS_FORCED_SHUTDOWN(mp)) | 2938 | if (XFS_FORCED_SHUTDOWN(mp)) |
2942 | return XFS_ERROR(EIO); | 2939 | return XFS_ERROR(EIO); |
@@ -3041,7 +3038,7 @@ xfs_rmdir( | |||
3041 | VN_HOLD(dir_vp); | 3038 | VN_HOLD(dir_vp); |
3042 | } | 3039 | } |
3043 | 3040 | ||
3044 | ITRACE(cdp); | 3041 | xfs_itrace_ref(cdp); |
3045 | xfs_trans_ijoin(tp, cdp, XFS_ILOCK_EXCL); | 3042 | xfs_trans_ijoin(tp, cdp, XFS_ILOCK_EXCL); |
3046 | 3043 | ||
3047 | ASSERT(cdp->i_d.di_nlink >= 2); | 3044 | ASSERT(cdp->i_d.di_nlink >= 2); |
@@ -3189,8 +3186,7 @@ xfs_symlink( | |||
3189 | ip = NULL; | 3186 | ip = NULL; |
3190 | tp = NULL; | 3187 | tp = NULL; |
3191 | 3188 | ||
3192 | vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address); | 3189 | xfs_itrace_entry(dp); |
3193 | |||
3194 | 3190 | ||
3195 | if (XFS_FORCED_SHUTDOWN(mp)) | 3191 | if (XFS_FORCED_SHUTDOWN(mp)) |
3196 | return XFS_ERROR(EIO); | 3192 | return XFS_ERROR(EIO); |
@@ -3317,7 +3313,7 @@ xfs_symlink( | |||
3317 | goto error_return; | 3313 | goto error_return; |
3318 | goto error1; | 3314 | goto error1; |
3319 | } | 3315 | } |
3320 | ITRACE(ip); | 3316 | xfs_itrace_ref(ip); |
3321 | 3317 | ||
3322 | /* | 3318 | /* |
3323 | * An error after we've joined dp to the transaction will result in the | 3319 | * An error after we've joined dp to the transaction will result in the |
@@ -3471,7 +3467,7 @@ xfs_fid2( | |||
3471 | xfs_inode_t *ip, | 3467 | xfs_inode_t *ip, |
3472 | xfs_fid_t *xfid) | 3468 | xfs_fid_t *xfid) |
3473 | { | 3469 | { |
3474 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 3470 | xfs_itrace_entry(ip); |
3475 | 3471 | ||
3476 | xfid->fid_len = sizeof(xfs_fid_t) - sizeof(xfid->fid_len); | 3472 | xfid->fid_len = sizeof(xfs_fid_t) - sizeof(xfid->fid_len); |
3477 | xfid->fid_pad = 0; | 3473 | xfid->fid_pad = 0; |
@@ -3653,7 +3649,7 @@ xfs_reclaim( | |||
3653 | { | 3649 | { |
3654 | bhv_vnode_t *vp = XFS_ITOV(ip); | 3650 | bhv_vnode_t *vp = XFS_ITOV(ip); |
3655 | 3651 | ||
3656 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 3652 | xfs_itrace_entry(ip); |
3657 | 3653 | ||
3658 | ASSERT(!VN_MAPPED(vp)); | 3654 | ASSERT(!VN_MAPPED(vp)); |
3659 | 3655 | ||
@@ -3871,7 +3867,7 @@ xfs_alloc_file_space( | |||
3871 | int committed; | 3867 | int committed; |
3872 | int error; | 3868 | int error; |
3873 | 3869 | ||
3874 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 3870 | xfs_itrace_entry(ip); |
3875 | 3871 | ||
3876 | if (XFS_FORCED_SHUTDOWN(mp)) | 3872 | if (XFS_FORCED_SHUTDOWN(mp)) |
3877 | return XFS_ERROR(EIO); | 3873 | return XFS_ERROR(EIO); |
@@ -4141,7 +4137,7 @@ xfs_free_file_space( | |||
4141 | vp = XFS_ITOV(ip); | 4137 | vp = XFS_ITOV(ip); |
4142 | mp = ip->i_mount; | 4138 | mp = ip->i_mount; |
4143 | 4139 | ||
4144 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 4140 | xfs_itrace_entry(ip); |
4145 | 4141 | ||
4146 | if ((error = XFS_QM_DQATTACH(mp, ip, 0))) | 4142 | if ((error = XFS_QM_DQATTACH(mp, ip, 0))) |
4147 | return error; | 4143 | return error; |
@@ -4347,7 +4343,7 @@ xfs_change_file_space( | |||
4347 | xfs_trans_t *tp; | 4343 | xfs_trans_t *tp; |
4348 | bhv_vattr_t va; | 4344 | bhv_vattr_t va; |
4349 | 4345 | ||
4350 | vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address); | 4346 | xfs_itrace_entry(ip); |
4351 | 4347 | ||
4352 | /* | 4348 | /* |
4353 | * must be a regular file and have write permission | 4349 | * must be a regular file and have write permission |