aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_vfsops.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_vfsops.c')
-rw-r--r--fs/xfs/xfs_vfsops.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
index 29f72f613782..65c561201cb8 100644
--- a/fs/xfs/xfs_vfsops.c
+++ b/fs/xfs/xfs_vfsops.c
@@ -696,7 +696,7 @@ xfs_unmount_flush(
696 bhv_vnode_t *rvp = XFS_ITOV(rip); 696 bhv_vnode_t *rvp = XFS_ITOV(rip);
697 int error; 697 int error;
698 698
699 xfs_ilock(rip, XFS_ILOCK_EXCL); 699 xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT);
700 xfs_iflock(rip); 700 xfs_iflock(rip);
701 701
702 /* 702 /*
@@ -1147,7 +1147,7 @@ xfs_sync_inodes(
1147 if (XFS_FORCED_SHUTDOWN(mp)) { 1147 if (XFS_FORCED_SHUTDOWN(mp)) {
1148 bhv_vop_toss_pages(vp, 0, -1, FI_REMAPF); 1148 bhv_vop_toss_pages(vp, 0, -1, FI_REMAPF);
1149 } else { 1149 } else {
1150 bhv_vop_flushinval_pages(vp, 0, -1, FI_REMAPF); 1150 error = bhv_vop_flushinval_pages(vp, 0, -1, FI_REMAPF);
1151 } 1151 }
1152 1152
1153 xfs_ilock(ip, XFS_ILOCK_SHARED); 1153 xfs_ilock(ip, XFS_ILOCK_SHARED);
@@ -1539,7 +1539,7 @@ xfs_syncsub(
1539 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); 1539 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
1540 xfs_trans_ihold(tp, ip); 1540 xfs_trans_ihold(tp, ip);
1541 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); 1541 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
1542 error = xfs_trans_commit(tp, 0, NULL); 1542 error = xfs_trans_commit(tp, 0);
1543 xfs_iunlock(ip, XFS_ILOCK_EXCL); 1543 xfs_iunlock(ip, XFS_ILOCK_EXCL);
1544 xfs_log_force(mp, (xfs_lsn_t)0, log_flags); 1544 xfs_log_force(mp, (xfs_lsn_t)0, log_flags);
1545 } 1545 }