diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 9b40a2799f7e6ac2f33b4acf32a54bc84e4812b7..cd3f8b3270ac8ce0228d993e76512445d25fda95 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -400,9 +400,11 @@ linvfs_clear_inode(
 	vp->v_flag &= ~VMODIFIED;
 	VN_UNLOCK(vp, 0);
 
-	VOP_RECLAIM(vp, error);
-	if (error)
-		panic("vn_purge: cannot reclaim");
+	if (vp->v_fbhv) {
+		VOP_RECLAIM(vp, error);
+		if (error)
+			panic("vn_purge: cannot reclaim");
+	}
 
 	ASSERT(vp->v_fbhv == NULL);