[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>
This commit is contained in:
parent
44866d3928
commit
cf441eeb79
14 changed files with 89 additions and 93 deletions
|
@ -1525,8 +1525,7 @@ xfs_vm_bmap(
|
||||||
struct inode *inode = (struct inode *)mapping->host;
|
struct inode *inode = (struct inode *)mapping->host;
|
||||||
struct xfs_inode *ip = XFS_I(inode);
|
struct xfs_inode *ip = XFS_I(inode);
|
||||||
|
|
||||||
vn_trace_entry(XFS_I(inode), __FUNCTION__,
|
xfs_itrace_entry(XFS_I(inode));
|
||||||
(inst_t *)__return_address);
|
|
||||||
xfs_rwlock(ip, VRWLOCK_READ);
|
xfs_rwlock(ip, VRWLOCK_READ);
|
||||||
xfs_flush_pages(ip, (xfs_off_t)0, -1, 0, FI_REMAPF);
|
xfs_flush_pages(ip, (xfs_off_t)0, -1, 0, FI_REMAPF);
|
||||||
xfs_rwunlock(ip, VRWLOCK_READ);
|
xfs_rwunlock(ip, VRWLOCK_READ);
|
||||||
|
|
|
@ -739,8 +739,7 @@ xfs_ioctl(
|
||||||
xfs_mount_t *mp = ip->i_mount;
|
xfs_mount_t *mp = ip->i_mount;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
vn_trace_entry(XFS_I(inode), "xfs_ioctl", (inst_t *)__return_address);
|
xfs_itrace_entry(XFS_I(inode));
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
|
||||||
case XFS_IOC_ALLOCSP:
|
case XFS_IOC_ALLOCSP:
|
||||||
|
|
|
@ -410,8 +410,7 @@ xfs_fs_write_inode(
|
||||||
{
|
{
|
||||||
int error = 0, flags = FLUSH_INODE;
|
int error = 0, flags = FLUSH_INODE;
|
||||||
|
|
||||||
vn_trace_entry(XFS_I(inode), __FUNCTION__,
|
xfs_itrace_entry(XFS_I(inode));
|
||||||
(inst_t *)__return_address);
|
|
||||||
if (sync) {
|
if (sync) {
|
||||||
filemap_fdatawait(inode->i_mapping);
|
filemap_fdatawait(inode->i_mapping);
|
||||||
flags |= FLUSH_SYNC;
|
flags |= FLUSH_SYNC;
|
||||||
|
@ -438,8 +437,7 @@ xfs_fs_clear_inode(
|
||||||
* find an inode with di_mode == 0 but without IGET_CREATE set.
|
* find an inode with di_mode == 0 but without IGET_CREATE set.
|
||||||
*/
|
*/
|
||||||
if (ip) {
|
if (ip) {
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
XFS_STATS_INC(vn_rele);
|
XFS_STATS_INC(vn_rele);
|
||||||
XFS_STATS_INC(vn_remove);
|
XFS_STATS_INC(vn_remove);
|
||||||
XFS_STATS_INC(vn_reclaim);
|
XFS_STATS_INC(vn_reclaim);
|
||||||
|
@ -841,8 +839,7 @@ xfs_fs_fill_super(
|
||||||
goto fail_vnrele;
|
goto fail_vnrele;
|
||||||
}
|
}
|
||||||
|
|
||||||
vn_trace_exit(XFS_I(sb->s_root->d_inode), __FUNCTION__,
|
xfs_itrace_exit(XFS_I(sb->s_root->d_inode));
|
||||||
(inst_t *)__return_address);
|
|
||||||
|
|
||||||
kmem_free(args, sizeof(*args));
|
kmem_free(args, sizeof(*args));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -143,7 +143,7 @@ __vn_revalidate(
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
vn_trace_entry(xfs_vtoi(vp), __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(xfs_vtoi(vp));
|
||||||
vattr->va_mask = XFS_AT_STAT | XFS_AT_XFLAGS;
|
vattr->va_mask = XFS_AT_STAT | XFS_AT_XFLAGS;
|
||||||
error = xfs_getattr(xfs_vtoi(vp), vattr, 0);
|
error = xfs_getattr(xfs_vtoi(vp), vattr, 0);
|
||||||
if (likely(!error)) {
|
if (likely(!error)) {
|
||||||
|
@ -179,7 +179,7 @@ vn_hold(
|
||||||
return vp;
|
return vp;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef XFS_VNODE_TRACE
|
#ifdef XFS_INODE_TRACE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reference count of Linux inode if present, -1 if the xfs_inode
|
* 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)
|
||||||
* Vnode tracing code.
|
* Vnode tracing code.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
vn_trace_entry(xfs_inode_t *ip, const char *func, inst_t *ra)
|
_xfs_itrace_entry(xfs_inode_t *ip, const char *func, inst_t *ra)
|
||||||
{
|
{
|
||||||
KTRACE_ENTER(ip, VNODE_KTRACE_ENTRY, func, 0, ra);
|
KTRACE_ENTER(ip, INODE_KTRACE_ENTRY, func, 0, ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
vn_trace_exit(xfs_inode_t *ip, const char *func, inst_t *ra)
|
_xfs_itrace_exit(xfs_inode_t *ip, const char *func, inst_t *ra)
|
||||||
{
|
{
|
||||||
KTRACE_ENTER(ip, VNODE_KTRACE_EXIT, func, 0, ra);
|
KTRACE_ENTER(ip, INODE_KTRACE_EXIT, func, 0, ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
vn_trace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
xfs_itrace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
||||||
{
|
{
|
||||||
KTRACE_ENTER(ip, VNODE_KTRACE_HOLD, file, line, ra);
|
KTRACE_ENTER(ip, INODE_KTRACE_HOLD, file, line, ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
vn_trace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
_xfs_itrace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
||||||
{
|
{
|
||||||
KTRACE_ENTER(ip, VNODE_KTRACE_REF, file, line, ra);
|
KTRACE_ENTER(ip, INODE_KTRACE_REF, file, line, ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
vn_trace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
xfs_itrace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra)
|
||||||
{
|
{
|
||||||
KTRACE_ENTER(ip, VNODE_KTRACE_RELE, file, line, ra);
|
KTRACE_ENTER(ip, INODE_KTRACE_RELE, file, line, ra);
|
||||||
}
|
}
|
||||||
#endif /* XFS_VNODE_TRACE */
|
#endif /* XFS_INODE_TRACE */
|
||||||
|
|
|
@ -210,12 +210,12 @@ static inline int vn_count(bhv_vnode_t *vp)
|
||||||
*/
|
*/
|
||||||
extern bhv_vnode_t *vn_hold(bhv_vnode_t *);
|
extern bhv_vnode_t *vn_hold(bhv_vnode_t *);
|
||||||
|
|
||||||
#if defined(XFS_VNODE_TRACE)
|
#if defined(XFS_INODE_TRACE)
|
||||||
#define VN_HOLD(vp) \
|
#define VN_HOLD(vp) \
|
||||||
((void)vn_hold(vp), \
|
((void)vn_hold(vp), \
|
||||||
vn_trace_hold(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address))
|
xfs_itrace_hold(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address))
|
||||||
#define VN_RELE(vp) \
|
#define VN_RELE(vp) \
|
||||||
(vn_trace_rele(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address), \
|
(xfs_itrace_rele(xfs_vtoi(vp), __FILE__, __LINE__, (inst_t *)__return_address), \
|
||||||
iput(vn_to_inode(vp)))
|
iput(vn_to_inode(vp)))
|
||||||
#else
|
#else
|
||||||
#define VN_HOLD(vp) ((void)vn_hold(vp))
|
#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)
|
||||||
/*
|
/*
|
||||||
* Tracking vnode activity.
|
* Tracking vnode activity.
|
||||||
*/
|
*/
|
||||||
#if defined(XFS_VNODE_TRACE)
|
#if defined(XFS_INODE_TRACE)
|
||||||
|
|
||||||
#define VNODE_TRACE_SIZE 16 /* number of trace entries */
|
#define INODE_TRACE_SIZE 16 /* number of trace entries */
|
||||||
#define VNODE_KTRACE_ENTRY 1
|
#define INODE_KTRACE_ENTRY 1
|
||||||
#define VNODE_KTRACE_EXIT 2
|
#define INODE_KTRACE_EXIT 2
|
||||||
#define VNODE_KTRACE_HOLD 3
|
#define INODE_KTRACE_HOLD 3
|
||||||
#define VNODE_KTRACE_REF 4
|
#define INODE_KTRACE_REF 4
|
||||||
#define VNODE_KTRACE_RELE 5
|
#define INODE_KTRACE_RELE 5
|
||||||
|
|
||||||
|
extern void _xfs_itrace_entry(struct xfs_inode *, const char *, inst_t *);
|
||||||
|
extern void _xfs_itrace_exit(struct xfs_inode *, const char *, inst_t *);
|
||||||
|
extern void xfs_itrace_hold(struct xfs_inode *, char *, int, inst_t *);
|
||||||
|
extern void _xfs_itrace_ref(struct xfs_inode *, char *, int, inst_t *);
|
||||||
|
extern void xfs_itrace_rele(struct xfs_inode *, char *, int, inst_t *);
|
||||||
|
#define xfs_itrace_entry(ip) \
|
||||||
|
_xfs_itrace_entry(ip, __FUNCTION__, (inst_t *)__return_address)
|
||||||
|
#define xfs_itrace_exit(ip) \
|
||||||
|
_xfs_itrace_exit(ip, __FUNCTION__, (inst_t *)__return_address)
|
||||||
|
#define xfs_itrace_ref(ip) \
|
||||||
|
_xfs_itrace_ref(ip, __FILE__, __LINE__, (inst_t *)__return_address)
|
||||||
|
|
||||||
extern void vn_trace_entry(struct xfs_inode *, const char *, inst_t *);
|
|
||||||
extern void vn_trace_exit(struct xfs_inode *, const char *, inst_t *);
|
|
||||||
extern void vn_trace_hold(struct xfs_inode *, char *, int, inst_t *);
|
|
||||||
extern void vn_trace_ref(struct xfs_inode *, char *, int, inst_t *);
|
|
||||||
extern void vn_trace_rele(struct xfs_inode *, char *, int, inst_t *);
|
|
||||||
#else
|
#else
|
||||||
#define vn_trace_entry(a,b,c)
|
#define xfs_itrace_entry(a)
|
||||||
#define vn_trace_exit(a,b,c)
|
#define xfs_itrace_exit(a)
|
||||||
#define vn_trace_hold(a,b,c,d)
|
#define xfs_itrace_hold(a, b, c, d)
|
||||||
#define vn_trace_ref(a,b,c,d)
|
#define xfs_itrace_ref(a)
|
||||||
#define vn_trace_rele(a,b,c,d)
|
#define xfs_itrace_rele(a, b, c, d)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __XFS_VNODE_H__ */
|
#endif /* __XFS_VNODE_H__ */
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
#define XFS_LOG_TRACE 1
|
#define XFS_LOG_TRACE 1
|
||||||
#define XFS_RW_TRACE 1
|
#define XFS_RW_TRACE 1
|
||||||
#define XFS_BUF_TRACE 1
|
#define XFS_BUF_TRACE 1
|
||||||
#define XFS_VNODE_TRACE 1
|
#define XFS_INODE_TRACE 1
|
||||||
#define XFS_FILESTREAMS_TRACE 1
|
#define XFS_FILESTREAMS_TRACE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -301,7 +301,7 @@ xfs_readdir(
|
||||||
int rval; /* return value */
|
int rval; /* return value */
|
||||||
int v; /* type-checking value */
|
int v; /* type-checking value */
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(dp->i_mount))
|
if (XFS_FORCED_SHUTDOWN(dp->i_mount))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
|
|
@ -157,7 +157,7 @@ xfs_iget_core(
|
||||||
goto again;
|
goto again;
|
||||||
}
|
}
|
||||||
|
|
||||||
vn_trace_exit(ip, "xfs_iget.alloc",
|
_xfs_itrace_exit(ip, "xfs_iget.alloc",
|
||||||
(inst_t *)__return_address);
|
(inst_t *)__return_address);
|
||||||
|
|
||||||
XFS_STATS_INC(xs_ig_found);
|
XFS_STATS_INC(xs_ig_found);
|
||||||
|
@ -212,7 +212,7 @@ xfs_iget_core(
|
||||||
xfs_ilock(ip, lock_flags);
|
xfs_ilock(ip, lock_flags);
|
||||||
|
|
||||||
xfs_iflags_clear(ip, XFS_ISTALE);
|
xfs_iflags_clear(ip, XFS_ISTALE);
|
||||||
vn_trace_exit(ip, "xfs_iget.found",
|
_xfs_itrace_exit(ip, "xfs_iget.found",
|
||||||
(inst_t *)__return_address);
|
(inst_t *)__return_address);
|
||||||
goto return_ip;
|
goto return_ip;
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,7 @@ xfs_iget_core(
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
vn_trace_exit(ip, "xfs_iget.alloc", (inst_t *)__return_address);
|
_xfs_itrace_exit(ip, "xfs_iget.alloc", (inst_t *)__return_address);
|
||||||
|
|
||||||
xfs_inode_lock_init(ip, vp);
|
xfs_inode_lock_init(ip, vp);
|
||||||
xfs_iocore_inode_init(ip);
|
xfs_iocore_inode_init(ip);
|
||||||
|
@ -467,7 +467,7 @@ xfs_iput(xfs_inode_t *ip,
|
||||||
{
|
{
|
||||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
bhv_vnode_t *vp = XFS_ITOV(ip);
|
||||||
|
|
||||||
vn_trace_entry(ip, "xfs_iput", (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
xfs_iunlock(ip, lock_flags);
|
xfs_iunlock(ip, lock_flags);
|
||||||
VN_RELE(vp);
|
VN_RELE(vp);
|
||||||
}
|
}
|
||||||
|
@ -482,7 +482,7 @@ xfs_iput_new(xfs_inode_t *ip,
|
||||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
bhv_vnode_t *vp = XFS_ITOV(ip);
|
||||||
struct inode *inode = vn_to_inode(vp);
|
struct inode *inode = vn_to_inode(vp);
|
||||||
|
|
||||||
vn_trace_entry(ip, "xfs_iput_new", (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if ((ip->i_d.di_mode == 0)) {
|
if ((ip->i_d.di_mode == 0)) {
|
||||||
ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE));
|
ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE));
|
||||||
|
|
|
@ -884,8 +884,8 @@ xfs_iread(
|
||||||
* Initialize inode's trace buffers.
|
* Initialize inode's trace buffers.
|
||||||
* Do this before xfs_iformat in case it adds entries.
|
* Do this before xfs_iformat in case it adds entries.
|
||||||
*/
|
*/
|
||||||
#ifdef XFS_VNODE_TRACE
|
#ifdef XFS_INODE_TRACE
|
||||||
ip->i_trace = ktrace_alloc(VNODE_TRACE_SIZE, KM_SLEEP);
|
ip->i_trace = ktrace_alloc(INODE_TRACE_SIZE, KM_SLEEP);
|
||||||
#endif
|
#endif
|
||||||
#ifdef XFS_BMAP_TRACE
|
#ifdef XFS_BMAP_TRACE
|
||||||
ip->i_xtrace = ktrace_alloc(XFS_BMAP_KTRACE_SIZE, KM_SLEEP);
|
ip->i_xtrace = ktrace_alloc(XFS_BMAP_KTRACE_SIZE, KM_SLEEP);
|
||||||
|
@ -2749,7 +2749,7 @@ xfs_idestroy(
|
||||||
mrfree(&ip->i_iolock);
|
mrfree(&ip->i_iolock);
|
||||||
freesema(&ip->i_flock);
|
freesema(&ip->i_flock);
|
||||||
|
|
||||||
#ifdef XFS_VNODE_TRACE
|
#ifdef XFS_INODE_TRACE
|
||||||
ktrace_free(ip->i_trace);
|
ktrace_free(ip->i_trace);
|
||||||
#endif
|
#endif
|
||||||
#ifdef XFS_BMAP_TRACE
|
#ifdef XFS_BMAP_TRACE
|
||||||
|
|
|
@ -300,7 +300,7 @@ typedef struct xfs_inode {
|
||||||
xfs_fsize_t i_size; /* in-memory size */
|
xfs_fsize_t i_size; /* in-memory size */
|
||||||
atomic_t i_iocount; /* outstanding I/O count */
|
atomic_t i_iocount; /* outstanding I/O count */
|
||||||
/* Trace buffers per inode. */
|
/* Trace buffers per inode. */
|
||||||
#ifdef XFS_VNODE_TRACE
|
#ifdef XFS_INODE_TRACE
|
||||||
struct ktrace *i_trace; /* general inode trace */
|
struct ktrace *i_trace; /* general inode trace */
|
||||||
#endif
|
#endif
|
||||||
#ifdef XFS_BMAP_TRACE
|
#ifdef XFS_BMAP_TRACE
|
||||||
|
|
|
@ -118,7 +118,7 @@ xfs_lock_for_rename(
|
||||||
inum1 = ip1->i_ino;
|
inum1 = ip1->i_ino;
|
||||||
|
|
||||||
ASSERT(ip1);
|
ASSERT(ip1);
|
||||||
ITRACE(ip1);
|
xfs_itrace_ref(ip1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unlock dp1 and lock dp2 if they are different.
|
* Unlock dp1 and lock dp2 if they are different.
|
||||||
|
@ -141,7 +141,7 @@ xfs_lock_for_rename(
|
||||||
IRELE (ip1);
|
IRELE (ip1);
|
||||||
return error;
|
return error;
|
||||||
} else {
|
} else {
|
||||||
ITRACE(ip2);
|
xfs_itrace_ref(ip2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -247,8 +247,8 @@ xfs_rename(
|
||||||
int src_namelen = VNAMELEN(src_vname);
|
int src_namelen = VNAMELEN(src_vname);
|
||||||
int target_namelen = VNAMELEN(target_vname);
|
int target_namelen = VNAMELEN(target_vname);
|
||||||
|
|
||||||
vn_trace_entry(src_dp, "xfs_rename", (inst_t *)__return_address);
|
xfs_itrace_entry(src_dp);
|
||||||
vn_trace_entry(xfs_vtoi(target_dir_vp), "xfs_rename", (inst_t *)__return_address);
|
xfs_itrace_entry(xfs_vtoi(target_dir_vp));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Find the XFS behavior descriptor for the target directory
|
* Find the XFS behavior descriptor for the target directory
|
||||||
|
|
|
@ -73,7 +73,7 @@ xfs_dir_lookup_int(
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
error = xfs_dir_lookup(NULL, dp, VNAME(dentry), VNAMELEN(dentry), inum);
|
error = xfs_dir_lookup(NULL, dp, VNAME(dentry), VNAMELEN(dentry), inum);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
|
|
|
@ -20,8 +20,6 @@
|
||||||
|
|
||||||
#define IRELE(ip) VN_RELE(XFS_ITOV(ip))
|
#define IRELE(ip) VN_RELE(XFS_ITOV(ip))
|
||||||
#define IHOLD(ip) VN_HOLD(XFS_ITOV(ip))
|
#define IHOLD(ip) VN_HOLD(XFS_ITOV(ip))
|
||||||
#define ITRACE(ip) vn_trace_ref(ip, __FILE__, __LINE__, \
|
|
||||||
(inst_t *)__return_address)
|
|
||||||
|
|
||||||
extern int xfs_get_dir_entry (bhv_vname_t *, xfs_inode_t **);
|
extern int xfs_get_dir_entry (bhv_vname_t *, xfs_inode_t **);
|
||||||
extern int xfs_dir_lookup_int (xfs_inode_t *, uint, bhv_vname_t *, xfs_ino_t *,
|
extern int xfs_dir_lookup_int (xfs_inode_t *, uint, bhv_vname_t *, xfs_ino_t *,
|
||||||
|
|
|
@ -88,7 +88,7 @@ xfs_getattr(
|
||||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
bhv_vnode_t *vp = XFS_ITOV(ip);
|
||||||
xfs_mount_t *mp = ip->i_mount;
|
xfs_mount_t *mp = ip->i_mount;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -228,7 +228,7 @@ xfs_setattr(
|
||||||
int file_owner;
|
int file_owner;
|
||||||
int need_iolock = 1;
|
int need_iolock = 1;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if (mp->m_flags & XFS_MOUNT_RDONLY)
|
if (mp->m_flags & XFS_MOUNT_RDONLY)
|
||||||
return XFS_ERROR(EROFS);
|
return XFS_ERROR(EROFS);
|
||||||
|
@ -915,8 +915,7 @@ xfs_access(
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
xfs_ilock(ip, XFS_ILOCK_SHARED);
|
xfs_ilock(ip, XFS_ILOCK_SHARED);
|
||||||
error = xfs_iaccess(ip, mode, credp);
|
error = xfs_iaccess(ip, mode, credp);
|
||||||
xfs_iunlock(ip, XFS_ILOCK_SHARED);
|
xfs_iunlock(ip, XFS_ILOCK_SHARED);
|
||||||
|
@ -987,7 +986,7 @@ xfs_readlink(
|
||||||
int pathlen;
|
int pathlen;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -1033,7 +1032,7 @@ xfs_fsync(
|
||||||
int error;
|
int error;
|
||||||
int log_flushed = 0, changed = 1;
|
int log_flushed = 0, changed = 1;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
ASSERT(start >= 0 && stop >= -1);
|
ASSERT(start >= 0 && stop >= -1);
|
||||||
|
|
||||||
|
@ -1592,7 +1591,7 @@ xfs_inactive(
|
||||||
int error;
|
int error;
|
||||||
int truncate;
|
int truncate;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the inode is already free, then there can be nothing
|
* If the inode is already free, then there can be nothing
|
||||||
|
@ -1805,7 +1804,7 @@ xfs_lookup(
|
||||||
int error;
|
int error;
|
||||||
uint lock_mode;
|
uint lock_mode;
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(dp->i_mount))
|
if (XFS_FORCED_SHUTDOWN(dp->i_mount))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -1814,7 +1813,7 @@ xfs_lookup(
|
||||||
error = xfs_dir_lookup_int(dp, lock_mode, dentry, &e_inum, &ip);
|
error = xfs_dir_lookup_int(dp, lock_mode, dentry, &e_inum, &ip);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
*vpp = XFS_ITOV(ip);
|
*vpp = XFS_ITOV(ip);
|
||||||
ITRACE(ip);
|
xfs_itrace_ref(ip);
|
||||||
}
|
}
|
||||||
xfs_iunlock_map_shared(dp, lock_mode);
|
xfs_iunlock_map_shared(dp, lock_mode);
|
||||||
return error;
|
return error;
|
||||||
|
@ -1848,7 +1847,7 @@ xfs_create(
|
||||||
int namelen;
|
int namelen;
|
||||||
|
|
||||||
ASSERT(!*vpp);
|
ASSERT(!*vpp);
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
namelen = VNAMELEN(dentry);
|
namelen = VNAMELEN(dentry);
|
||||||
|
|
||||||
|
@ -1930,7 +1929,7 @@ xfs_create(
|
||||||
goto error_return;
|
goto error_return;
|
||||||
goto abort_return;
|
goto abort_return;
|
||||||
}
|
}
|
||||||
ITRACE(ip);
|
xfs_itrace_ref(ip);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* At this point, we've gotten a newly allocated inode.
|
* At this point, we've gotten a newly allocated inode.
|
||||||
|
@ -2098,7 +2097,7 @@ xfs_lock_dir_and_entry(
|
||||||
|
|
||||||
e_inum = ip->i_ino;
|
e_inum = ip->i_ino;
|
||||||
|
|
||||||
ITRACE(ip);
|
xfs_itrace_ref(ip);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We want to lock in increasing inum. Since we've already
|
* We want to lock in increasing inum. Since we've already
|
||||||
|
@ -2321,7 +2320,7 @@ xfs_remove(
|
||||||
uint resblks;
|
uint resblks;
|
||||||
int namelen;
|
int namelen;
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -2364,9 +2363,8 @@ xfs_remove(
|
||||||
|
|
||||||
dm_di_mode = ip->i_d.di_mode;
|
dm_di_mode = ip->i_d.di_mode;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
xfs_itrace_ref(ip);
|
||||||
ITRACE(ip);
|
|
||||||
|
|
||||||
error = XFS_QM_DQATTACH(mp, dp, 0);
|
error = XFS_QM_DQATTACH(mp, dp, 0);
|
||||||
if (!error && dp != ip)
|
if (!error && dp != ip)
|
||||||
|
@ -2498,8 +2496,7 @@ xfs_remove(
|
||||||
if (link_zero && xfs_inode_is_filestream(ip))
|
if (link_zero && xfs_inode_is_filestream(ip))
|
||||||
xfs_filestream_deassociate(ip);
|
xfs_filestream_deassociate(ip);
|
||||||
|
|
||||||
vn_trace_exit(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_exit(ip);
|
||||||
|
|
||||||
IRELE(ip);
|
IRELE(ip);
|
||||||
|
|
||||||
/* Fall through to std_return with error = 0 */
|
/* Fall through to std_return with error = 0 */
|
||||||
|
@ -2562,8 +2559,8 @@ xfs_link(
|
||||||
char *target_name = VNAME(dentry);
|
char *target_name = VNAME(dentry);
|
||||||
int target_namelen;
|
int target_namelen;
|
||||||
|
|
||||||
vn_trace_entry(tdp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(tdp);
|
||||||
vn_trace_entry(xfs_vtoi(src_vp), __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(xfs_vtoi(src_vp));
|
||||||
|
|
||||||
target_namelen = VNAMELEN(dentry);
|
target_namelen = VNAMELEN(dentry);
|
||||||
ASSERT(!VN_ISDIR(src_vp));
|
ASSERT(!VN_ISDIR(src_vp));
|
||||||
|
@ -2744,7 +2741,7 @@ xfs_mkdir(
|
||||||
|
|
||||||
/* Return through std_return after this point. */
|
/* Return through std_return after this point. */
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
mp = dp->i_mount;
|
mp = dp->i_mount;
|
||||||
udqp = gdqp = NULL;
|
udqp = gdqp = NULL;
|
||||||
|
@ -2810,7 +2807,7 @@ xfs_mkdir(
|
||||||
goto error_return;
|
goto error_return;
|
||||||
goto abort_return;
|
goto abort_return;
|
||||||
}
|
}
|
||||||
ITRACE(cdp);
|
xfs_itrace_ref(cdp);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now we add the directory inode to the transaction.
|
* Now we add the directory inode to the transaction.
|
||||||
|
@ -2936,7 +2933,7 @@ xfs_rmdir(
|
||||||
int last_cdp_link;
|
int last_cdp_link;
|
||||||
uint resblks;
|
uint resblks;
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -3041,7 +3038,7 @@ xfs_rmdir(
|
||||||
VN_HOLD(dir_vp);
|
VN_HOLD(dir_vp);
|
||||||
}
|
}
|
||||||
|
|
||||||
ITRACE(cdp);
|
xfs_itrace_ref(cdp);
|
||||||
xfs_trans_ijoin(tp, cdp, XFS_ILOCK_EXCL);
|
xfs_trans_ijoin(tp, cdp, XFS_ILOCK_EXCL);
|
||||||
|
|
||||||
ASSERT(cdp->i_d.di_nlink >= 2);
|
ASSERT(cdp->i_d.di_nlink >= 2);
|
||||||
|
@ -3189,8 +3186,7 @@ xfs_symlink(
|
||||||
ip = NULL;
|
ip = NULL;
|
||||||
tp = NULL;
|
tp = NULL;
|
||||||
|
|
||||||
vn_trace_entry(dp, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(dp);
|
||||||
|
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -3317,7 +3313,7 @@ xfs_symlink(
|
||||||
goto error_return;
|
goto error_return;
|
||||||
goto error1;
|
goto error1;
|
||||||
}
|
}
|
||||||
ITRACE(ip);
|
xfs_itrace_ref(ip);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* An error after we've joined dp to the transaction will result in the
|
* An error after we've joined dp to the transaction will result in the
|
||||||
|
@ -3471,7 +3467,7 @@ xfs_fid2(
|
||||||
xfs_inode_t *ip,
|
xfs_inode_t *ip,
|
||||||
xfs_fid_t *xfid)
|
xfs_fid_t *xfid)
|
||||||
{
|
{
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
xfid->fid_len = sizeof(xfs_fid_t) - sizeof(xfid->fid_len);
|
xfid->fid_len = sizeof(xfs_fid_t) - sizeof(xfid->fid_len);
|
||||||
xfid->fid_pad = 0;
|
xfid->fid_pad = 0;
|
||||||
|
@ -3653,7 +3649,7 @@ xfs_reclaim(
|
||||||
{
|
{
|
||||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
bhv_vnode_t *vp = XFS_ITOV(ip);
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
ASSERT(!VN_MAPPED(vp));
|
ASSERT(!VN_MAPPED(vp));
|
||||||
|
|
||||||
|
@ -3871,7 +3867,7 @@ xfs_alloc_file_space(
|
||||||
int committed;
|
int committed;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if (XFS_FORCED_SHUTDOWN(mp))
|
if (XFS_FORCED_SHUTDOWN(mp))
|
||||||
return XFS_ERROR(EIO);
|
return XFS_ERROR(EIO);
|
||||||
|
@ -4141,7 +4137,7 @@ xfs_free_file_space(
|
||||||
vp = XFS_ITOV(ip);
|
vp = XFS_ITOV(ip);
|
||||||
mp = ip->i_mount;
|
mp = ip->i_mount;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
if ((error = XFS_QM_DQATTACH(mp, ip, 0)))
|
if ((error = XFS_QM_DQATTACH(mp, ip, 0)))
|
||||||
return error;
|
return error;
|
||||||
|
@ -4347,7 +4343,7 @@ xfs_change_file_space(
|
||||||
xfs_trans_t *tp;
|
xfs_trans_t *tp;
|
||||||
bhv_vattr_t va;
|
bhv_vattr_t va;
|
||||||
|
|
||||||
vn_trace_entry(ip, __FUNCTION__, (inst_t *)__return_address);
|
xfs_itrace_entry(ip);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* must be a regular file and have write permission
|
* must be a regular file and have write permission
|
||||||
|
|
Loading…
Reference in a new issue