Re: [PATCH 3/5] xfs: remove the unused return value from xfs_log_unmount_write

Darrick J. Wong
2020-03-12T23:49:29Z

On Thu, Mar 12, 2020 at 03:39:57PM +0100, Christoph Hellwig wrote:
> Remove the ignored return value from xfs_log_unmount_write, and also
> remove a rather pointless assert on the return value from xfs_log_force.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Brian Foster <bfoster@redhat.com>

AFAICT the lack of error returning is acceptable because the vfs doesn't
care what failures we encounter while unmounting and xfs will log all of
its complaints as it crashes out of the kernel?

If so,
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
> fs/xfs/xfs_log.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
> index 796ff37d5bb5..fa499ddedb94 100644
> --- a/fs/xfs/xfs_log.c
> +++ b/fs/xfs/xfs_log.c
> @@ -953,8 +953,7 @@ xfs_log_write_unmount_record(
> * currently architecture converted and "Unmount" is a bit foo.
> * As far as I know, there weren't any dependencies on the old behaviour.
> */
> -
> -static int
> +static void
> xfs_log_unmount_write(xfs_mount_t *mp)
> {
> struct xlog *log = mp->m_log;
> @@ -962,7 +961,6 @@ xfs_log_unmount_write(xfs_mount_t *mp)
> #ifdef DEBUG
> xlog_in_core_t *first_iclog;
> #endif
> - int error;
>
> /*
> * Don't write out unmount record on norecovery mounts or ro devices.
> @@ -971,11 +969,10 @@ xfs_log_unmount_write(xfs_mount_t *mp)
> if (mp->m_flags & XFS_MOUNT_NORECOVERY ||
> xfs_readonly_buftarg(log->l_targ)) {
> ASSERT(mp->m_flags & XFS_MOUNT_RDONLY);
> - return 0;
> + return;
> }
>
> - error = xfs_log_force(mp, XFS_LOG_SYNC);
> - ASSERT(error || !(XLOG_FORCED_SHUTDOWN(log)));
> + xfs_log_force(mp, XFS_LOG_SYNC);
>
> #ifdef DEBUG
> first_iclog = iclog = log->l_iclog;
> @@ -1007,7 +1004,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
> iclog = log->l_iclog;
> atomic_inc(&iclog->ic_refcnt);
> xlog_state_want_sync(log, iclog);
> - error = xlog_state_release_iclog(log, iclog);
> + xlog_state_release_iclog(log, iclog);
> switch (iclog->ic_state) {
> case XLOG_STATE_ACTIVE:
> case XLOG_STATE_DIRTY:
> @@ -1019,9 +1016,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
> break;
> }
> }
> -
> - return error;
> -} /* xfs_log_unmount_write */
> +}
>
> /*
> * Empty the log for unmount/freeze.
> --
> 2.24.1
>