diff options
Diffstat (limited to 'fs/xfs/xfs_sync.c')
| -rw-r--r-- | fs/xfs/xfs_sync.c | 46 | 
1 files changed, 4 insertions, 42 deletions
| diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c index 40b75eecd2b4..205ebcb34d9e 100644 --- a/fs/xfs/xfs_sync.c +++ b/fs/xfs/xfs_sync.c @@ -336,32 +336,6 @@ xfs_sync_fsdata(  	return error;  } -int -xfs_log_dirty_inode( -	struct xfs_inode	*ip, -	struct xfs_perag	*pag, -	int			flags) -{ -	struct xfs_mount	*mp = ip->i_mount; -	struct xfs_trans	*tp; -	int			error; - -	if (!ip->i_update_core) -		return 0; - -	tp = xfs_trans_alloc(mp, XFS_TRANS_FSYNC_TS); -	error = xfs_trans_reserve(tp, 0, XFS_FSYNC_TS_LOG_RES(mp), 0, 0, 0); -	if (error) { -		xfs_trans_cancel(tp, 0); -		return error; -	} - -	xfs_ilock(ip, XFS_ILOCK_EXCL); -	xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); -	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); -	return xfs_trans_commit(tp, 0); -} -  /*   * When remounting a filesystem read-only or freezing the filesystem, we have   * two phases to execute. This first phase is syncing the data before we @@ -385,16 +359,6 @@ xfs_quiesce_data(  {  	int			error, error2 = 0; -	/* -	 * Log all pending size and timestamp updates.  The vfs writeback -	 * code is supposed to do this, but due to its overagressive -	 * livelock detection it will skip inodes where appending writes -	 * were written out in the first non-blocking sync phase if their -	 * completion took long enough that it happened after taking the -	 * timestamp for the cut-off in the blocking phase. -	 */ -	xfs_inode_ag_iterator(mp, xfs_log_dirty_inode, 0); -  	/* force out the log */  	xfs_log_force(mp, XFS_LOG_SYNC); @@ -913,17 +877,15 @@ reclaim:  	 * can reference the inodes in the cache without taking references.  	 *  	 * We make that OK here by ensuring that we wait until the inode is -	 * unlocked after the lookup before we go ahead and free it.  We get -	 * both the ilock and the iolock because the code may need to drop the -	 * ilock one but will still hold the iolock. +	 * unlocked after the lookup before we go ahead and free it.  	 */ -	xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); +	xfs_ilock(ip, XFS_ILOCK_EXCL);  	xfs_qm_dqdetach(ip); -	xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); +	xfs_iunlock(ip, XFS_ILOCK_EXCL);  	xfs_inode_free(ip); -	return error; +	return error;  }  /* | 
