From: Darrick J. Wong <djwong@xxxxxxxxxx> Move the INEW wait into xfs_dqrele_inode so that we can drop the iter_flags parameter in the next patch. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- fs/xfs/xfs_icache.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index bc88d33f7f24..b22a3fe20c4a 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -803,6 +803,9 @@ xfs_dqrele_inode( { struct xfs_eofblocks *eofb = priv; + if (xfs_iflags_test(ip, XFS_INEW)) + xfs_inew_wait(ip); + xfs_ilock(ip, XFS_ILOCK_EXCL); if (eofb->eof_flags & XFS_EOFB_DROP_UDQUOT) { xfs_qm_dqrele(ip->i_udquot); @@ -841,8 +844,8 @@ xfs_dqrele_all_inodes( if (qflags & XFS_PQUOTA_ACCT) eofb.eof_flags |= XFS_EOFB_DROP_PDQUOT; - return xfs_inode_walk(mp, XFS_INODE_WALK_INEW_WAIT, xfs_dqrele_inode, - &eofb, XFS_ICWALK_DQRELE); + return xfs_inode_walk(mp, 0, xfs_dqrele_inode, &eofb, + XFS_ICWALK_DQRELE); } #else # define xfs_dqrele_igrab(ip) (false)