diff mbox series

[GIT,PULL] xfs: new code for 6.6

Message ID 87cyz4smqi.fsf@debian-BULLSEYE-live-builder-AMD64 (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] xfs: new code for 6.6 | expand

Commit Message

Chandan Babu R Aug. 30, 2023, 1:04 p.m. UTC
Hi Linus,

Please pull this branch with changes for xfs for 6.6-rc1.

We have started merging Online repair feature into upstream kernel. This
pull request also includes a bug fix and a typo fix.

I had performed a test merge with latest contents of
torvalds/linux.git. i.e.

1c59d383390f970b891b503b7f79b63a02db2ec5
Author:     Linus Torvalds <torvalds@linux-foundation.org>
AuthorDate: Mon Aug 28 19:03:24 2023 -0700
Commit:     Linus Torvalds <torvalds@linux-foundation.org>
CommitDate: Mon Aug 28 19:03:24 2023 -0700

Merge tag 'linux-kselftest-nolibc-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest


This resulted in merge conflicts. The following diff should resolve the
resulting merge conflicts.

+++ b/fs/xfs/scrub/scrub.c
@@@ -178,16 -178,16 +178,18 @@@ xchk_teardown
  	}
  	if (sc->ip) {
  		if (sc->ilock_flags)
- 			xfs_iunlock(sc->ip, sc->ilock_flags);
- 		if (sc->ip != ip_in &&
- 		    !xfs_internal_inum(sc->mp, sc->ip->i_ino))
- 			xchk_irele(sc, sc->ip);
+ 			xchk_iunlock(sc, sc->ilock_flags);
+ 		xchk_irele(sc, sc->ip);
  		sc->ip = NULL;
  	}
 -	if (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR)
 +	if (sc->flags & XCHK_HAVE_FREEZE_PROT) {
 +		sc->flags &= ~XCHK_HAVE_FREEZE_PROT;
  		mnt_drop_write_file(sc->file);
 +	}
+ 	if (sc->xfile) {
+ 		xfile_destroy(sc->xfile);
+ 		sc->xfile = NULL;
+ 	}
  	if (sc->buf) {
  		if (sc->buf_cleanup)
  			sc->buf_cleanup(sc->buf);

The final version of xchk_teardown() will be,

STATIC int
xchk_teardown(
	struct xfs_scrub	*sc,
	int			error)
{
	xchk_ag_free(sc, &sc->sa);
	if (sc->tp) {
		if (error == 0 && (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR))
			error = xfs_trans_commit(sc->tp);
		else
			xfs_trans_cancel(sc->tp);
		sc->tp = NULL;
	}
	if (sc->ip) {
		if (sc->ilock_flags)
			xchk_iunlock(sc, sc->ilock_flags);
		xchk_irele(sc, sc->ip);
		sc->ip = NULL;
	}
	if (sc->flags & XCHK_HAVE_FREEZE_PROT) {
		sc->flags &= ~XCHK_HAVE_FREEZE_PROT;
		mnt_drop_write_file(sc->file);
	}
	if (sc->xfile) {
		xfile_destroy(sc->xfile);
		sc->xfile = NULL;
	}
	if (sc->buf) {
		if (sc->buf_cleanup)
			sc->buf_cleanup(sc->buf);
		kvfree(sc->buf);
		sc->buf_cleanup = NULL;
		sc->buf = NULL;
	}

	xchk_fsgates_disable(sc);
	return error;
}

+++ b/fs/xfs/xfs_super.c
@@@ -772,17 -760,7 +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);

The final version of xfs_mount_free() will be,

static void
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);
}

@@@ -1537,11 -1538,18 +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;
+ 	}
+ 
  	error = xfs_init_mount_workqueues(mp);
  	if (error)
 -		goto out_close_devices;
 +		goto out_shutdown_devices;
  
  	error = xfs_init_percpu_counters(mp);
  	if (error)


Please let me know if you encounter any problems.


PS: Darrick will continue to sign relevant tags until the kernel.org
keyring maintainers respond to my request to add my gpg key to the
kernel.org PGP keyring.

Also, Both Darrick and me have been running this branch through QA.
Darrick will probably continue to execute QA tests for the near future
until the keyring has been updated and access to git.kernel.org is
granted to me.

Comments

pr-tracker-bot@kernel.org Aug. 30, 2023, 7:50 p.m. UTC | #1
The pull request you sent on Wed, 30 Aug 2023 18:34:59 +0530:

> https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-6.6-merge-1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/53ea7f624fb91074c2f9458832ed74975ee5d64c

Thank you!
diff mbox series

Patch

diff --cc fs/xfs/scrub/scrub.c
index a0fffbcd022bc,e92129d74462b..7d3aa14d81b55
--- a/fs/xfs/scrub/scrub.c
diff --cc fs/xfs/xfs_super.c
index c79eac048456b,09638e8fb4eef..1f77014c6e1ab
--- a/fs/xfs/xfs_super.c