aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index cd3f8b3270ac..910e43bfc95b 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -387,14 +387,17 @@ linvfs_clear_inode(
387 387
388 vn_trace_entry(vp, "clear_inode", (inst_t *)__return_address); 388 vn_trace_entry(vp, "clear_inode", (inst_t *)__return_address);
389 389
390 ASSERT(vp->v_fbhv != NULL);
391
392 XFS_STATS_INC(vn_rele); 390 XFS_STATS_INC(vn_rele);
393 XFS_STATS_INC(vn_remove); 391 XFS_STATS_INC(vn_remove);
394 XFS_STATS_INC(vn_reclaim); 392 XFS_STATS_INC(vn_reclaim);
395 XFS_STATS_DEC(vn_active); 393 XFS_STATS_DEC(vn_active);
396 394
397 VOP_INACTIVE(vp, NULL, cache); 395 /*
396 * This can happen because xfs_iget_core calls xfs_idestroy if we
397 * find an inode with di_mode == 0 but without IGET_CREATE set.
398 */
399 if (vp->v_fbhv)
400 VOP_INACTIVE(vp, NULL, cache);
398 401
399 VN_LOCK(vp); 402 VN_LOCK(vp);
400 vp->v_flag &= ~VMODIFIED; 403 vp->v_flag &= ~VMODIFIED;