Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 124842
b: refs/heads/master
c: 99fa8cb
h: refs/heads/master
v: v3
  • Loading branch information
David Chinner authored and Lachlan McIlroy committed Oct 30, 2008
1 parent d354cf0 commit 6224249
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bf904248a2adb3f3be4eb4fb1837ce3bb28cca76
refs/heads/master: 99fa8cb3c580d4445fe8fc239454e8f37a3b6847
32 changes: 14 additions & 18 deletions trunk/fs/xfs/linux-2.6/xfs_super.c
Original file line number Diff line number Diff line change
Expand Up @@ -875,13 +875,18 @@ xfs_fs_alloc_inode(
}

/*
* we need to provide an empty inode free function to prevent
* the generic code from trying to free our combined inode.
* Now that the generic code is guaranteed not to be accessing
* the linux inode, we can reclaim the inode.
*/
STATIC void
xfs_fs_destroy_inode(
struct inode *inode)
{
xfs_inode_t *ip = XFS_I(inode);

XFS_STATS_INC(vn_reclaim);
if (xfs_reclaim(ip))
panic("%s: cannot reclaim 0x%p\n", __func__, inode);
}

/*
Expand Down Expand Up @@ -958,22 +963,13 @@ xfs_fs_clear_inode(
{
xfs_inode_t *ip = XFS_I(inode);

/*
* ip can be null when xfs_iget_core calls xfs_idestroy if we
* find an inode with di_mode == 0 but without IGET_CREATE set.
*/
if (ip) {
xfs_itrace_entry(ip);
XFS_STATS_INC(vn_rele);
XFS_STATS_INC(vn_remove);
XFS_STATS_INC(vn_reclaim);
XFS_STATS_DEC(vn_active);

xfs_inactive(ip);
xfs_iflags_clear(ip, XFS_IMODIFIED);
if (xfs_reclaim(ip))
panic("%s: cannot reclaim 0x%p\n", __func__, inode);
}
xfs_itrace_entry(ip);
XFS_STATS_INC(vn_rele);
XFS_STATS_INC(vn_remove);
XFS_STATS_DEC(vn_active);

xfs_inactive(ip);
xfs_iflags_clear(ip, XFS_IMODIFIED);
}

STATIC void
Expand Down

0 comments on commit 6224249

Please sign in to comment.