Re: linux-next: manual merge of the vfs-brauner tree with the xfs tree

From: Darrick J. Wong
Date: Wed Aug 23 2023 - 00:44:15 EST


On Wed, Aug 23, 2023 at 09:38:52AM +1000, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the vfs-brauner tree got a conflict in:
>
> fs/xfs/xfs_super.c
>
> between commit:
>
> a76dba3b248c ("xfs: create scaffolding for creating debugfs entries")
>
> from the xfs tree and commit:
>
> 35a93b148b03 ("xfs: close the external block devices in xfs_mount_free")
>
> from the vfs-brauner tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc fs/xfs/xfs_super.c
> index 09638e8fb4ee,c79eac048456..000000000000
> --- a/fs/xfs/xfs_super.c
> +++ b/fs/xfs/xfs_super.c
> @@@ -760,7 -772,17 +774,18 @@@ static voi
> xfs_mount_free(
> struct xfs_mount *mp)
> {
> + /*
> + * Free the buftargs here because blkdev_put needs to be called outside
> + * of sb->s_umount, which is held around the call to ->put_super.
> + */
> + if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp)
> + xfs_free_buftarg(mp->m_logdev_targp);
> + if (mp->m_rtdev_targp)
> + xfs_free_buftarg(mp->m_rtdev_targp);
> + if (mp->m_ddev_targp)
> + xfs_free_buftarg(mp->m_ddev_targp);
> +
> + debugfs_remove(mp->m_debugfs);
> kfree(mp->m_rtname);
> kfree(mp->m_logname);
> kmem_free(mp);
> @@@ -1538,18 -1537,11 +1556,18 @@@ xfs_fs_fill_super
>
> error = xfs_open_devices(mp);
> if (error)
> - goto out_free_names;
> + return error;
>
> + if (xfs_debugfs) {
> + mp->m_debugfs = xfs_debugfs_mkdir(mp->m_super->s_id,
> + xfs_debugfs);
> + } else {
> + mp->m_debugfs = NULL;
> + }
> +

Yep, this looks correct.

--D

> error = xfs_init_mount_workqueues(mp);
> if (error)
> - goto out_close_devices;
> + goto out_shutdown_devices;
>
> error = xfs_init_percpu_counters(mp);
> if (error)