On Wed, Jun 19, 2024 at 10:23:18AM -0700, Darrick J. Wong wrote: > On Tue, Jun 18, 2024 at 11:08:37PM -0700, Christoph Hellwig wrote: > > On Mon, Jun 17, 2024 at 05:47:32PM -0700, Darrick J. Wong wrote: > > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > > > > > The exchange-range implementation is now completely separate from the > > > old swapext ioctl. We're deprecating the old swapext ioctl, so let's > > > move this test to use exchangerange. > > > > Do we really want to lost the swapext test coverage? Even if it is > > deprecated, it will be with us for a long time. My vote for copy and > > pasting this into a new test for exchrange. > > Yeah, you're right that we should retain this test for the old swapext > ioctl. I'll fork the test into two -- one for swapext, another for > exchangerange. ...except that the swapext ioctl doesn't support swapping forks if quota is enabled and any of the user/group/project ids are different: /* User/group/project quota ids must match if quotas are enforced. */ if (XFS_IS_QUOTA_ON(ip->i_mount) && (!uid_eq(VFS_I(ip)->i_uid, VFS_I(tip)->i_uid) || !gid_eq(VFS_I(ip)->i_gid, VFS_I(tip)->i_gid) || ip->i_projid != tip->i_projid)) return -EINVAL; I'll amend the commit message: "There's no point in maintaining this test for the legacy swapext code because it returns EINVAL if any quota is enabled and the two files have different user/group/project ids. Originally I had forward ported the old swapext ioctl to use commitrange as its backend, but that will be dropped in favor of porting xfs_fsr to use commitrange directly." --D