diff options
| -rw-r--r-- | fs/xfs/xfs_inode_item.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 6cdbf90c6f7b..d041d47d9d86 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c | |||
| @@ -505,6 +505,14 @@ xfs_inode_item_push( | |||
| 505 | } | 505 | } |
| 506 | 506 | ||
| 507 | /* | 507 | /* |
| 508 | * Stale inode items should force out the iclog. | ||
| 509 | */ | ||
| 510 | if (ip->i_flags & XFS_ISTALE) { | ||
| 511 | rval = XFS_ITEM_PINNED; | ||
| 512 | goto out_unlock; | ||
| 513 | } | ||
| 514 | |||
| 515 | /* | ||
| 508 | * Someone else is already flushing the inode. Nothing we can do | 516 | * Someone else is already flushing the inode. Nothing we can do |
| 509 | * here but wait for the flush to finish and remove the item from | 517 | * here but wait for the flush to finish and remove the item from |
| 510 | * the AIL. | 518 | * the AIL. |
| @@ -514,15 +522,6 @@ xfs_inode_item_push( | |||
| 514 | goto out_unlock; | 522 | goto out_unlock; |
| 515 | } | 523 | } |
| 516 | 524 | ||
| 517 | /* | ||
| 518 | * Stale inode items should force out the iclog. | ||
| 519 | */ | ||
| 520 | if (ip->i_flags & XFS_ISTALE) { | ||
| 521 | xfs_ifunlock(ip); | ||
| 522 | xfs_iunlock(ip, XFS_ILOCK_SHARED); | ||
| 523 | return XFS_ITEM_PINNED; | ||
| 524 | } | ||
| 525 | |||
| 526 | ASSERT(iip->ili_fields != 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); | 525 | ASSERT(iip->ili_fields != 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); |
| 527 | ASSERT(iip->ili_logged == 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); | 526 | ASSERT(iip->ili_logged == 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); |
| 528 | 527 | ||
