]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fs: add generic FS_IOC_SHUTDOWN definitions
authorNamjae Jeon <linkinjeon@kernel.org>
Fri, 30 Jan 2026 05:59:19 +0000 (14:59 +0900)
committerNamjae Jeon <linkinjeon@kernel.org>
Thu, 19 Feb 2026 12:48:05 +0000 (21:48 +0900)
Currently, several filesystems (e.g., xfs, ext4, btrfs) implement
a "shutdown" or "going down" ioctl to simulate filesystem force a shutdown.
While they often use the same underlying numeric value, the definition is
duplicated across filesystem headers or private definitions.

Add generic definitions for FS_IOC_SHUTDOWN in uapi/linux/fs.h.
This allows new filesystems (like ntfs) to implement this feature using
a standard VFS definition and paves the way for existing filesystems
to unify their definitions later.

The flag names are standardized as FS_SHUTDOWN_* to be consistent with
the ioctl name, replacing the historical GOING_DOWN naming convention.

Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
include/uapi/linux/fs.h

index 70b2b661f42cb6e585436b6f5f00c7c977c15cdb..13f71202845e8f9ebd5178e1dbf69b4c3a02363f 100644 (file)
@@ -657,4 +657,16 @@ struct procmap_query {
        __u64 build_id_addr;            /* in */
 };
 
+/*
+ * Shutdown the filesystem.
+ */
+#define FS_IOC_SHUTDOWN _IOR('X', 125, __u32)
+
+/*
+ * Flags for FS_IOC_SHUTDOWN
+ */
+#define FS_SHUTDOWN_FLAGS_DEFAULT      0x0
+#define FS_SHUTDOWN_FLAGS_LOGFLUSH     0x1     /* flush log but not data*/
+#define FS_SHUTDOWN_FLAGS_NOLOGFLUSH   0x2     /* don't flush log nor data */
+
 #endif /* _UAPI_LINUX_FS_H */