From d4c2078d2dc079c1f1bbdb6386c4302e4cad3034 Mon Sep 17 00:00:00 2001 From: Brian Foster Date: Mon, 11 Jun 2012 10:39:43 -0400 Subject: [PATCH] --- yaml --- r: 319831 b: refs/heads/master c: 76e8f1386673b864cfca3c24c4d5814740e76465 h: refs/heads/master i: 319829: 7f8f5a043ea63256f8a5f7454cea735ba722f6e8 319827: 8b954fee5f0fe380392c932207e034177d2a5a20 319823: 2eaff1f35c8dfdc25e9c7c15dfe0ed3b3793d767 v: v3 --- [refs] | 2 +- trunk/fs/xfs/xfs_inode_item.c | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 74a4df81d997..eaf12297e6d4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51c84223af604ce2d00d0416c30a38c50aed00bd +refs/heads/master: 76e8f1386673b864cfca3c24c4d5814740e76465 diff --git a/trunk/fs/xfs/xfs_inode_item.c b/trunk/fs/xfs/xfs_inode_item.c index 6cdbf90c6f7b..d041d47d9d86 100644 --- a/trunk/fs/xfs/xfs_inode_item.c +++ b/trunk/fs/xfs/xfs_inode_item.c @@ -504,6 +504,14 @@ xfs_inode_item_push( goto out_unlock; } + /* + * Stale inode items should force out the iclog. + */ + if (ip->i_flags & XFS_ISTALE) { + rval = XFS_ITEM_PINNED; + goto out_unlock; + } + /* * Someone else is already flushing the inode. Nothing we can do * here but wait for the flush to finish and remove the item from @@ -514,15 +522,6 @@ xfs_inode_item_push( goto out_unlock; } - /* - * Stale inode items should force out the iclog. - */ - if (ip->i_flags & XFS_ISTALE) { - xfs_ifunlock(ip); - xfs_iunlock(ip, XFS_ILOCK_SHARED); - return XFS_ITEM_PINNED; - } - ASSERT(iip->ili_fields != 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); ASSERT(iip->ili_logged == 0 || XFS_FORCED_SHUTDOWN(ip->i_mount));