[PATCH 2/7] xfs: split inode flushing from xfs_sync_inodes_ag
Sujit Karataparambil
sjt.kar at gmail.com
Thu May 14 23:52:31 CDT 2009
> +STATIC int
> +xfs_sync_inode_attr(
> + struct xfs_inode *ip,
> + int flags)
> +{
> + int error = 0;
> +
> + xfs_ilock(ip, XFS_ILOCK_SHARED);
> + if (xfs_inode_clean(ip))
> + goto out_unlock;
> + if (!xfs_iflock_nowait(ip)) {
> + if (!(flags & SYNC_WAIT))
> + goto out_unlock;
> + xfs_iflock(ip);
> + }
> +
> + if (xfs_inode_clean(ip)) {
> + xfs_ifunlock(ip);
> + goto out_unlock;
> + }
> +
> + error = xfs_iflush(ip, XFS_IFLUSH_SYNC);
> +
> + out_unlock:
> + xfs_iunlock(ip, XFS_ILOCK_SHARED);
> + return error;
here also should there be an
xfs_sync_inode_data(ip, flags);
xfs_iflush(ip, XFS_IFLUSH_SYNC);
in out_unlock.
--
-- Sujit K M
More information about the xfs
mailing list