summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2023-11-16 09:30:37 -0800
committerZorro Lang <zlang@kernel.org>2023-11-17 03:01:37 +0800
commit3098851702d150bd94118bf299594c1ea2f9d690 (patch)
treed4e3f4441f8447c346db60cd3c9d6b09a41c2463 /m4
parent5fdd34e7618266e6ea2ce10150093cae3f4c0387 (diff)
misc: privatize the FIEXCHANGE ioctl for now
I'm abandoning (for now) efforts to bring atomic file content exchanges to the VFS. The goal here is to reduce friction in getting online fsck merged, so Dave and I want to take this back to being a private XFS ioctl so we can explore with it for a while before committing it to the stable KABI. Shift all the existing FIEXCHANGE usage to XFS_IOC_EXCHANGE_RANGE, and try to pick it up from xfs_fs_staging.h if the system xfslibs-dev package has such an animal. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zorro Lang <zlang@kernel.org>
Diffstat (limited to 'm4')
-rw-r--r--m4/package_libcdev.m420
-rw-r--r--m4/package_xfslibs.m414
2 files changed, 14 insertions, 20 deletions
diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
index 0f4b8063..d5d88b8e 100644
--- a/m4/package_libcdev.m4
+++ b/m4/package_libcdev.m4
@@ -155,26 +155,6 @@ AC_DEFUN([AC_HAVE_RLIMIT_NOFILE],
AC_SUBST(have_rlimit_nofile)
])
-#
-# Check if we have a FIEXCHANGE_RANGE ioctl (Linux)
-#
-AC_DEFUN([AC_HAVE_FIEXCHANGE],
- [ AC_MSG_CHECKING([for FIEXCHANGE_RANGE])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#define _GNU_SOURCE
-#include <sys/syscall.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <linux/fs.h>
-#include <linux/fiexchange.h>
- ]], [[
- struct file_xchg_range fxr;
- ioctl(-1, FIEXCHANGE_RANGE, &fxr);
- ]])],[have_fiexchange=yes
- AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
- AC_SUBST(have_fiexchange)
- ])
-
# Check if we have FICLONE
AC_DEFUN([AC_HAVE_FICLONE],
[ AC_MSG_CHECKING([for FICLONE])
diff --git a/m4/package_xfslibs.m4 b/m4/package_xfslibs.m4
index 8ef58cc0..1549360d 100644
--- a/m4/package_xfslibs.m4
+++ b/m4/package_xfslibs.m4
@@ -119,3 +119,17 @@ AC_DEFUN([AC_HAVE_BMV_OF_SHARED],
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
AC_SUBST(have_bmv_of_shared)
])
+
+# Check if we have XFS_IOC_EXCHANGE_RANGE
+AC_DEFUN([AC_HAVE_XFS_IOC_EXCHANGE_RANGE],
+ [ AC_MSG_CHECKING([for XFS_IOC_EXCHANGE_RANGE])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#define _GNU_SOURCE
+#include <xfs/xfs.h>
+ ]], [[
+ struct xfs_exch_range obj;
+ ioctl(-1, XFS_IOC_EXCHANGE_RANGE, &obj);
+ ]])],[have_xfs_ioc_exchange_range=yes
+ AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
+ AC_SUBST(have_xfs_ioc_exchange_range)
+ ])