Message ID | 20210121154526.1852176-9-bfoster@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | xfs: rework log quiesce to cover the log | expand |
On 1/21/21 8:45 AM, Brian Foster wrote: > xfs_quiesce_attr() is now a wrapper for xfs_log_clean(). Remove it > and call xfs_log_clean() directly. > > Signed-off-by: Brian Foster <bfoster@redhat.com> > Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Looks good Reviewed-by: Allison Henderson <allison.henderson@oracle.com> > --- > fs/xfs/xfs_mount.c | 2 +- > fs/xfs/xfs_super.c | 24 ++---------------------- > 2 files changed, 3 insertions(+), 23 deletions(-) > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index f97b82d0e30f..4a26b48b18e4 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -946,7 +946,7 @@ xfs_mountfs( > */ > if ((mp->m_flags & (XFS_MOUNT_RDONLY|XFS_MOUNT_NORECOVERY)) == > XFS_MOUNT_RDONLY) { > - xfs_quiesce_attr(mp); > + xfs_log_clean(mp); > } > > /* > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 8fc9044131fc..aedf622d221b 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -867,26 +867,6 @@ xfs_restore_resvblks(struct xfs_mount *mp) > xfs_reserve_blocks(mp, &resblks, NULL); > } > > -/* > - * Trigger writeback of all the dirty metadata in the file system. > - * > - * This ensures that the metadata is written to their location on disk rather > - * than just existing in transactions in the log. This means after a quiesce > - * there is no log replay required to write the inodes to disk - this is the > - * primary difference between a sync and a quiesce. > - * > - * We cancel log work early here to ensure all transactions the log worker may > - * run have finished before we clean up and log the superblock and write an > - * unmount record. The unfreeze process is responsible for restarting the log > - * worker correctly. > - */ > -void > -xfs_quiesce_attr( > - struct xfs_mount *mp) > -{ > - xfs_log_clean(mp); > -} > - > /* > * Second stage of a freeze. The data is already frozen so we only > * need to take care of the metadata. Once that's done sync the superblock > @@ -909,7 +889,7 @@ xfs_fs_freeze( > flags = memalloc_nofs_save(); > xfs_stop_block_reaping(mp); > xfs_save_resvblks(mp); > - xfs_quiesce_attr(mp); > + xfs_log_clean(mp); > ret = xfs_sync_sb(mp, true); > memalloc_nofs_restore(flags); > return ret; > @@ -1752,7 +1732,7 @@ xfs_remount_ro( > */ > xfs_save_resvblks(mp); > > - xfs_quiesce_attr(mp); > + xfs_log_clean(mp); > mp->m_flags |= XFS_MOUNT_RDONLY; > > return 0; >
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index f97b82d0e30f..4a26b48b18e4 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -946,7 +946,7 @@ xfs_mountfs( */ if ((mp->m_flags & (XFS_MOUNT_RDONLY|XFS_MOUNT_NORECOVERY)) == XFS_MOUNT_RDONLY) { - xfs_quiesce_attr(mp); + xfs_log_clean(mp); } /* diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 8fc9044131fc..aedf622d221b 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -867,26 +867,6 @@ xfs_restore_resvblks(struct xfs_mount *mp) xfs_reserve_blocks(mp, &resblks, NULL); } -/* - * Trigger writeback of all the dirty metadata in the file system. - * - * This ensures that the metadata is written to their location on disk rather - * than just existing in transactions in the log. This means after a quiesce - * there is no log replay required to write the inodes to disk - this is the - * primary difference between a sync and a quiesce. - * - * We cancel log work early here to ensure all transactions the log worker may - * run have finished before we clean up and log the superblock and write an - * unmount record. The unfreeze process is responsible for restarting the log - * worker correctly. - */ -void -xfs_quiesce_attr( - struct xfs_mount *mp) -{ - xfs_log_clean(mp); -} - /* * Second stage of a freeze. The data is already frozen so we only * need to take care of the metadata. Once that's done sync the superblock @@ -909,7 +889,7 @@ xfs_fs_freeze( flags = memalloc_nofs_save(); xfs_stop_block_reaping(mp); xfs_save_resvblks(mp); - xfs_quiesce_attr(mp); + xfs_log_clean(mp); ret = xfs_sync_sb(mp, true); memalloc_nofs_restore(flags); return ret; @@ -1752,7 +1732,7 @@ xfs_remount_ro( */ xfs_save_resvblks(mp); - xfs_quiesce_attr(mp); + xfs_log_clean(mp); mp->m_flags |= XFS_MOUNT_RDONLY; return 0;