/* afs_dentry_iput */
static void afs_dentry_iput(struct dentry *dp, struct inode *ip)
{
+ afs_Trace3(afs_iclSetp, CM_TRACE_DENTRYIPUT,
+ ICL_TYPE_POINTER, ip,
+ ICL_TYPE_STRING, dp->d_parent->d_name.name,
+ ICL_TYPE_STRING, dp->d_name.name);
+
osi_iput(ip);
}
static int afs_dentry_delete(struct dentry *dp)
{
- if (dp->d_inode && (ITOAFS(dp->d_inode)->states & CUnlinked))
- return 1; /* bad inode? */
-
afs_Trace3(afs_iclSetp, CM_TRACE_DENTRYDELETE, ICL_TYPE_POINTER,
dp->d_inode, ICL_TYPE_STRING, dp->d_parent->d_name.name,
ICL_TYPE_STRING, dp->d_name.name);
+
+ if (dp->d_inode && (ITOAFS(dp->d_inode)->states & CUnlinked))
+ return 1; /* bad inode? */
+
return 0;
}
afs_linux_dentry_revalidate, /* d_validate(struct dentry *) */
NULL, /* d_hash */
NULL, /* d_compare */
- NULL, /* d_delete(struct dentry *) */
+ afs_dentry_delete, /* d_delete(struct dentry *) */
NULL, /* d_release(struct dentry *) */
afs_dentry_iput /* d_iput(struct dentry *, struct inode *) */
};
ec CM_TRACE_VM_CLOSE, "VMclose ip 0x%lx mapcnt %d opens %d XoW %d"
ec CM_TRACE_PREFETCHCMD, "PrefetchCmd tvc 0x%x tfid (%d:%d.%d.%d) fid (%d:%d.%d.%d)"
ec CM_TRACE_RESIDCMD, "ResidencyCmd tvc 0x%x command %d fid (%d:%d.%d.%d)"
- ec CM_TRACE_DENTRYDELETE, "dentry_delete inode 0x%x d_name %s/%s"
- ec CM_TRACE_TRYFLUSHDCACHECHILDREN, "TryFlushDcacheChildren tvc 0x%x"
+ ec CM_TRACE_DENTRYDELETE, "d_delete inode 0x%x d_name %s/%s"
+ ec CM_TRACE_DENTRYIPUT, "d_iput inode 0x%x d_name %s/%s"
+ ec CM_TRACE_TRYFLUSHDCACHECHILDREN, "TryFlushDcacheChildren ip 0x%x"
end