[PATCH 01/20] xfs: add a libxfs header file for staging new ioctls

Darrick J. Wong
2023-12-31T22:27:19Z

Create a new xfs_fs_staging.h header where we can land experimental
ioctls without committing them to any stable interfaces anywhere.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
include/libxfs.h | 1 +
include/xfs.h | 1 +
libxfs/Makefile | 1 +
libxfs/libxfs_priv.h | 1 +
libxfs/xfs_fs_staging.h | 18 ++++++++++++++++++
5 files changed, 22 insertions(+)
create mode 100644 libxfs/xfs_fs_staging.h

diff --git a/include/libxfs.h b/include/libxfs.h
index 16667b9d8b3..9e8596bedf9 100644
--- a/include/libxfs.h
+++ b/include/libxfs.h
@@ -27,6 +27,7 @@

#include "xfs_types.h"
#include "xfs_fs.h"
+#include "xfs_fs_staging.h"
#include "xfs_arch.h"

#include "xfs_shared.h"
diff --git a/include/xfs.h b/include/xfs.h
index e97158c8d22..c4a95bec9a9 100644
--- a/include/xfs.h
+++ b/include/xfs.h
@@ -44,5 +44,6 @@ extern int xfs_assert_largefile[sizeof(off_t)-8];
/* Include deprecated/compat pre-vfs xfs-specific symbols */
#include <xfs/xfs_fs_compat.h>
#include <xfs/xfs_fs.h>
+#include <xfs/xfs_fs_staging.h>

#endif /* __XFS_H__ */
diff --git a/libxfs/Makefile b/libxfs/Makefile
index e1248c2b3ca..ed22f5c873e 100644
--- a/libxfs/Makefile
+++ b/libxfs/Makefile
@@ -14,6 +14,7 @@ LTLDFLAGS += -static

# headers to install in include/xfs
PKGHFILES = xfs_fs.h \
+ xfs_fs_staging.h \
xfs_types.h \
xfs_da_format.h \
xfs_format.h \
diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
index e3d9b70cc17..4d9c49091bc 100644
--- a/libxfs/libxfs_priv.h
+++ b/libxfs/libxfs_priv.h
@@ -60,6 +60,7 @@
#include "xfs_arch.h"

#include "xfs_fs.h"
+#include "xfs_fs_staging.h"
#include "libfrog/crc32c.h"

#include <sys/xattr.h>
diff --git a/libxfs/xfs_fs_staging.h b/libxfs/xfs_fs_staging.h
new file mode 100644
index 00000000000..d220790d5b5
--- /dev/null
+++ b/libxfs/xfs_fs_staging.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: LGPL-2.1 */
+/*
+ * Copyright (c) 2020-2024 Oracle. All Rights Reserved.
+ * Author: Darrick J. Wong <djwong@kernel.org>
+ */
+#ifndef __XFS_FS_STAGING_H__
+#define __XFS_FS_STAGING_H__
+
+/*
+ * Experimental system calls, ioctls and data structures supporting them.
+ * Nothing in here should be considered part of a stable interface of any kind.
+ *
+ * If you add an ioctl here, please leave a comment in xfs_fs.h marking it
+ * reserved. If you promote anything out of this file, please leave a comment
+ * explaining where it went.
+ */
+
+#endif /* __XFS_FS_STAGING_H__ */