diff options
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
-rw-r--r-- | fs/xfs/xfs_fsops.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index f56d30e8040c..cec89dd5d7d2 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -612,12 +612,13 @@ out: | |||
612 | * | 612 | * |
613 | * We cannot use an inode here for this - that will push dirty state back up | 613 | * We cannot use an inode here for this - that will push dirty state back up |
614 | * into the VFS and then periodic inode flushing will prevent log covering from | 614 | * into the VFS and then periodic inode flushing will prevent log covering from |
615 | * making progress. Hence we log a field in the superblock instead. | 615 | * making progress. Hence we log a field in the superblock instead and use a |
616 | * synchronous transaction to ensure the superblock is immediately unpinned | ||
617 | * and can be written back. | ||
616 | */ | 618 | */ |
617 | int | 619 | int |
618 | xfs_fs_log_dummy( | 620 | xfs_fs_log_dummy( |
619 | xfs_mount_t *mp, | 621 | xfs_mount_t *mp) |
620 | int flags) | ||
621 | { | 622 | { |
622 | xfs_trans_t *tp; | 623 | xfs_trans_t *tp; |
623 | int error; | 624 | int error; |
@@ -632,8 +633,7 @@ xfs_fs_log_dummy( | |||
632 | 633 | ||
633 | /* log the UUID because it is an unchanging field */ | 634 | /* log the UUID because it is an unchanging field */ |
634 | xfs_mod_sb(tp, XFS_SB_UUID); | 635 | xfs_mod_sb(tp, XFS_SB_UUID); |
635 | if (flags & SYNC_WAIT) | 636 | xfs_trans_set_sync(tp); |
636 | xfs_trans_set_sync(tp); | ||
637 | return xfs_trans_commit(tp, 0); | 637 | return xfs_trans_commit(tp, 0); |
638 | } | 638 | } |
639 | 639 | ||