]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: remove deprecated sysctl knobs
authorDarrick J. Wong <djwong@kernel.org>
Tue, 2 Sep 2025 21:38:27 +0000 (14:38 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 5 Sep 2025 15:48:23 +0000 (08:48 -0700)
These sysctl knobs were scheduled for removal in September 2025.  That
time has come, so remove them.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Documentation/admin-guide/xfs.rst
fs/xfs/libxfs/xfs_inode_util.c
fs/xfs/xfs_globals.c
fs/xfs/xfs_iops.c
fs/xfs/xfs_linux.h
fs/xfs/xfs_sysctl.c
fs/xfs/xfs_sysctl.h

index 7ad746a3e66c25c59f0effe9541ca151dffeb249..d6f531f2c0e69413f7b25974f79ec9bc2d92b416 100644 (file)
@@ -289,9 +289,6 @@ The following sysctls are available for the XFS filesystem:
        removes unused preallocation from clean inodes and releases
        the unused space back to the free pool.
 
-  fs.xfs.speculative_cow_prealloc_lifetime
-       This is an alias for speculative_prealloc_lifetime.
-
   fs.xfs.error_level           (Min: 0  Default: 3  Max: 11)
        A volume knob for error reporting when internal errors occur.
        This will generate detailed messages & backtraces for filesystem
@@ -318,17 +315,6 @@ The following sysctls are available for the XFS filesystem:
 
        This option is intended for debugging only.
 
-  fs.xfs.irix_symlink_mode     (Min: 0  Default: 0  Max: 1)
-       Controls whether symlinks are created with mode 0777 (default)
-       or whether their mode is affected by the umask (irix mode).
-
-  fs.xfs.irix_sgid_inherit     (Min: 0  Default: 0  Max: 1)
-       Controls files created in SGID directories.
-       If the group ID of the new file does not match the effective group
-       ID or one of the supplementary group IDs of the parent dir, the
-       ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl
-       is set.
-
   fs.xfs.inherit_sync          (Min: 0  Default: 1  Max: 1)
        Setting this to "1" will cause the "sync" flag set
        by the **xfs_io(8)** chattr command on a directory to be
@@ -364,14 +350,7 @@ The following sysctls are available for the XFS filesystem:
 Deprecated Sysctls
 ==================
 
-===========================================     ================
-  Name                                          Removal Schedule
-===========================================     ================
-fs.xfs.irix_sgid_inherit                        September 2025
-fs.xfs.irix_symlink_mode                        September 2025
-fs.xfs.speculative_cow_prealloc_lifetime        September 2025
-===========================================     ================
-
+None currently.
 
 Removed Sysctls
 ===============
@@ -381,6 +360,9 @@ Removed Sysctls
 =============================  =======
   fs.xfs.xfsbufd_centisec      v4.0
   fs.xfs.age_buffer_centisecs  v4.0
+  fs.xfs.irix_symlink_mode      v6.18
+  fs.xfs.irix_sgid_inherit      v6.18
+  fs.xfs.speculative_cow_prealloc_lifetime      v6.18
 =============================  =======
 
 Error handling
index 48fe49a5f050f3463dc385677655e2f38a6344fe..309ce6dd555383e5c143b712b7ecafff72b19836 100644 (file)
@@ -299,17 +299,6 @@ xfs_inode_init(
                } else {
                        inode_init_owner(args->idmap, inode, dir, args->mode);
                }
-
-               /*
-                * If the group ID of the new file does not match the effective
-                * group ID or one of the supplementary group IDs, the S_ISGID
-                * bit is cleared (and only if the irix_sgid_inherit
-                * compatibility variable is set).
-                */
-               if (irix_sgid_inherit && (inode->i_mode & S_ISGID) &&
-                   !vfsgid_in_group_p(i_gid_into_vfsgid(args->idmap, inode)))
-                       inode->i_mode &= ~S_ISGID;
-
                ip->i_projid = xfs_get_initial_prid(pip);
        }
 
index f6f628c01febaf9b2a2c23b147ece3846adf6321..566fd663c95bbae9bb112c8b87c8f0357666ec3a 100644 (file)
@@ -14,8 +14,6 @@
  */
 xfs_param_t xfs_params = {
                          /*    MIN             DFLT            MAX     */
-       .sgid_inherit   = {     0,              0,              1       },
-       .symlink_mode   = {     0,              0,              1       },
        .panic_mask     = {     0,              0,              XFS_PTAG_MASK},
        .error_level    = {     0,              3,              11      },
        .syncd_timer    = {     1*100,          30*100,         7200*100},
index 603effabe1ee12d6414fa132f7fcbf79bbbcaf99..afd041e28bb26abace6b5fc1150f2218d08997c1 100644 (file)
@@ -431,14 +431,12 @@ xfs_vn_symlink(
        struct dentry           *dentry,
        const char              *symname)
 {
-       struct inode    *inode;
-       struct xfs_inode *cip = NULL;
-       struct xfs_name name;
-       int             error;
-       umode_t         mode;
+       struct inode            *inode;
+       struct xfs_inode        *cip = NULL;
+       struct xfs_name         name;
+       int                     error;
+       umode_t                 mode = S_IFLNK | S_IRWXUGO;
 
-       mode = S_IFLNK |
-               (irix_symlink_mode ? 0777 & ~current_umask() : S_IRWXUGO);
        error = xfs_dentry_mode_to_name(&name, dentry, mode);
        if (unlikely(error))
                goto out;
index 9a2221b4aa21ed2f4c5051855948dc3a2a0b3b36..4dd747bdbccab27fd76fd4eff6d6113b2ed36ae1 100644 (file)
@@ -89,8 +89,6 @@ typedef __u32                 xfs_nlink_t;
 #undef XFS_NATIVE_HOST
 #endif
 
-#define irix_sgid_inherit      xfs_params.sgid_inherit.val
-#define irix_symlink_mode      xfs_params.symlink_mode.val
 #define xfs_panic_mask         xfs_params.panic_mask.val
 #define xfs_error_level                xfs_params.error_level.val
 #define xfs_syncd_centisecs    xfs_params.syncd_timer.val
index 751dc74a30671a7d88974da175f22130c608d7dd..9918f14b4874fd921188d6b8682d26ed502452fa 100644 (file)
@@ -50,7 +50,7 @@ xfs_panic_mask_proc_handler(
 }
 #endif /* CONFIG_PROC_FS */
 
-STATIC int
+static inline int
 xfs_deprecated_dointvec_minmax(
        const struct ctl_table  *ctl,
        int                     write,
@@ -67,24 +67,6 @@ xfs_deprecated_dointvec_minmax(
 }
 
 static const struct ctl_table xfs_table[] = {
-       {
-               .procname       = "irix_sgid_inherit",
-               .data           = &xfs_params.sgid_inherit.val,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = xfs_deprecated_dointvec_minmax,
-               .extra1         = &xfs_params.sgid_inherit.min,
-               .extra2         = &xfs_params.sgid_inherit.max
-       },
-       {
-               .procname       = "irix_symlink_mode",
-               .data           = &xfs_params.symlink_mode.val,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = xfs_deprecated_dointvec_minmax,
-               .extra1         = &xfs_params.symlink_mode.min,
-               .extra2         = &xfs_params.symlink_mode.max
-       },
        {
                .procname       = "panic_mask",
                .data           = &xfs_params.panic_mask.val,
@@ -185,15 +167,6 @@ static const struct ctl_table xfs_table[] = {
                .extra1         = &xfs_params.blockgc_timer.min,
                .extra2         = &xfs_params.blockgc_timer.max,
        },
-       {
-               .procname       = "speculative_cow_prealloc_lifetime",
-               .data           = &xfs_params.blockgc_timer.val,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = xfs_deprecated_dointvec_minmax,
-               .extra1         = &xfs_params.blockgc_timer.min,
-               .extra2         = &xfs_params.blockgc_timer.max,
-       },
        /* please keep this the last entry */
 #ifdef CONFIG_PROC_FS
        {
index 51646f066c4f7de376e9ae8d3c8837155cf3adad..ed9d896079c1a8bc6f67a4f95648ce56a601d2f5 100644 (file)
@@ -19,9 +19,6 @@ typedef struct xfs_sysctl_val {
 } xfs_sysctl_val_t;
 
 typedef struct xfs_param {
-       xfs_sysctl_val_t sgid_inherit;  /* Inherit S_ISGID if process' GID is
-                                        * not a member of parent dir GID. */
-       xfs_sysctl_val_t symlink_mode;  /* Link creat mode affected by umask */
        xfs_sysctl_val_t panic_mask;    /* bitmask to cause panic on errors. */
        xfs_sysctl_val_t error_level;   /* Degree of reporting for problems  */
        xfs_sysctl_val_t syncd_timer;   /* Interval between xfssyncd wakeups */