|
@@ -184,8 +184,11 @@ xfs_setattr(
|
|
|
ip->i_size == 0 && ip->i_d.di_nextents == 0) {
|
|
|
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
|
|
lock_flags &= ~XFS_ILOCK_EXCL;
|
|
|
- if (mask & ATTR_CTIME)
|
|
|
- xfs_ichgtime(ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ if (mask & ATTR_CTIME) {
|
|
|
+ inode->i_mtime = inode->i_ctime =
|
|
|
+ current_fs_time(inode->i_sb);
|
|
|
+ xfs_mark_inode_dirty_sync(ip);
|
|
|
+ }
|
|
|
code = 0;
|
|
|
goto error_return;
|
|
|
}
|
|
@@ -1391,7 +1394,7 @@ xfs_create(
|
|
|
ASSERT(error != ENOSPC);
|
|
|
goto out_trans_abort;
|
|
|
}
|
|
|
- xfs_ichgtime(dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
|
|
|
|
|
|
if (is_dir) {
|
|
@@ -1742,7 +1745,7 @@ xfs_remove(
|
|
|
ASSERT(error != ENOENT);
|
|
|
goto out_bmap_cancel;
|
|
|
}
|
|
|
- xfs_ichgtime(dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
|
|
|
if (is_dir) {
|
|
|
/*
|
|
@@ -1895,7 +1898,7 @@ xfs_link(
|
|
|
&first_block, &free_list, resblks);
|
|
|
if (error)
|
|
|
goto abort_return;
|
|
|
- xfs_ichgtime(tdp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ xfs_trans_ichgtime(tp, tdp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
xfs_trans_log_inode(tp, tdp, XFS_ILOG_CORE);
|
|
|
|
|
|
error = xfs_bumplink(tp, sip);
|
|
@@ -2129,7 +2132,7 @@ xfs_symlink(
|
|
|
&first_block, &free_list, resblks);
|
|
|
if (error)
|
|
|
goto error1;
|
|
|
- xfs_ichgtime(dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
|
|
|
|
|
|
/*
|
|
@@ -2833,7 +2836,7 @@ xfs_change_file_space(
|
|
|
if (ip->i_d.di_mode & S_IXGRP)
|
|
|
ip->i_d.di_mode &= ~S_ISGID;
|
|
|
|
|
|
- xfs_ichgtime(ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
+ xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
|
|
|
}
|
|
|
if (setprealloc)
|
|
|
ip->i_d.di_flags |= XFS_DIFLAG_PREALLOC;
|