From: "Darrick J. Wong" <djwong@kernel.org>
To: sandeen@sandeen.net
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH v1.1 39/45] libxfs: remove pointless *XFS_MOUNT* flags
Date: Fri, 28 Jan 2022 14:43:00 -0800 [thread overview]
Message-ID: <20220128224300.GK13540@magnolia> (raw)
In-Reply-To: <164263805814.860211.18062742237091017727.stgit@magnolia>
From: Darrick J. Wong <djwong@kernel.org>
Get rid of these flags and the m_flags field, since none of them do
anything anymore.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
v1.1: add some clarifying comments, maintain same inode64 behavior
---
db/attrset.c | 12 ++++++++----
include/xfs_mount.h | 9 ++-------
libxfs/init.c | 31 ++++---------------------------
libxfs/libxfs_priv.h | 10 ----------
libxlog/xfs_log_recover.c | 8 --------
5 files changed, 14 insertions(+), 56 deletions(-)
diff --git a/db/attrset.c b/db/attrset.c
index 98a08a49..0d8d70a8 100644
--- a/db/attrset.c
+++ b/db/attrset.c
@@ -107,7 +107,10 @@ attr_set_f(
break;
case 'n':
- mp->m_flags |= LIBXFS_MOUNT_COMPAT_ATTR;
+ /*
+ * We never touch attr2 these days; leave this here to
+ * avoid breaking scripts.
+ */
break;
/* value length */
@@ -169,7 +172,6 @@ attr_set_f(
set_cur_inode(iocur_top->ino);
out:
- mp->m_flags &= ~LIBXFS_MOUNT_COMPAT_ATTR;
if (args.dp)
libxfs_irele(args.dp);
if (args.value)
@@ -211,7 +213,10 @@ attr_remove_f(
break;
case 'n':
- mp->m_flags |= LIBXFS_MOUNT_COMPAT_ATTR;
+ /*
+ * We never touch attr2 these days; leave this here to
+ * avoid breaking scripts.
+ */
break;
default:
@@ -254,7 +259,6 @@ attr_remove_f(
set_cur_inode(iocur_top->ino);
out:
- mp->m_flags &= ~LIBXFS_MOUNT_COMPAT_ATTR;
if (args.dp)
libxfs_irele(args.dp);
return 0;
diff --git a/include/xfs_mount.h b/include/xfs_mount.h
index 52b699f1..37398fd3 100644
--- a/include/xfs_mount.h
+++ b/include/xfs_mount.h
@@ -79,7 +79,6 @@ typedef struct xfs_mount {
uint m_alloc_set_aside; /* space we can't use */
uint m_ag_max_usable; /* max space per AG */
struct radix_tree_root m_perag_tree;
- uint m_flags; /* global mount flags */
uint64_t m_features; /* active filesystem features */
unsigned long m_opstate; /* dynamic state flags */
bool m_finobt_nores; /* no per-AG finobt resv. */
@@ -250,16 +249,12 @@ __XFS_UNSUPP_OPSTATE(readonly)
__XFS_UNSUPP_OPSTATE(shutdown)
#define LIBXFS_MOUNT_DEBUGGER 0x0001
-#define LIBXFS_MOUNT_32BITINODES 0x0002
-#define LIBXFS_MOUNT_32BITINOOPT 0x0004
-#define LIBXFS_MOUNT_COMPAT_ATTR 0x0008
-#define LIBXFS_MOUNT_ATTR2 0x0010
#define LIBXFS_MOUNT_WANT_CORRUPTED 0x0020
#define LIBXFS_BHASHSIZE(sbp) (1<<10)
-extern xfs_mount_t *libxfs_mount (xfs_mount_t *, xfs_sb_t *,
- dev_t, dev_t, dev_t, int);
+struct xfs_mount *libxfs_mount(struct xfs_mount *mp, struct xfs_sb *sb,
+ dev_t dev, dev_t logdev, dev_t rtdev, unsigned int flags);
int libxfs_flush_mount(struct xfs_mount *mp);
int libxfs_umount(struct xfs_mount *mp);
extern void libxfs_rtmount_destroy (xfs_mount_t *);
diff --git a/libxfs/init.c b/libxfs/init.c
index e9235a35..18cbc59e 100644
--- a/libxfs/init.c
+++ b/libxfs/init.c
@@ -490,12 +490,7 @@ rtmount_init(
/*
* Set parameters for inode allocation heuristics, taking into account
- * filesystem size and inode32/inode64 mount options; i.e. specifically
- * whether or not XFS_MOUNT_SMALL_INUMS is set.
- *
- * Inode allocation patterns are altered only if inode32 is requested
- * (XFS_MOUNT_SMALL_INUMS), and the filesystem is sufficiently large.
- * If altered, XFS_MOUNT_32BITINODES is set as well.
+ * filesystem size.
*
* An agcount independent of that in the mount structure is provided
* because in the growfs case, mp->m_sb.sb_agcount is not yet updated
@@ -531,22 +526,8 @@ xfs_set_inode_alloc(
max_metadata = agcount;
}
- /* Get the last possible inode in the filesystem */
- agino = XFS_AGB_TO_AGINO(mp, sbp->sb_agblocks - 1);
- ino = XFS_AGINO_TO_INO(mp, agcount - 1, agino);
-
- /*
- * If user asked for no more than 32-bit inodes, and the fs is
- * sufficiently large, set XFS_MOUNT_32BITINODES if we must alter
- * the allocator to accommodate the request.
- */
- if ((mp->m_flags & XFS_MOUNT_SMALL_INUMS) && ino > XFS_MAXINUMBER_32) {
- xfs_set_inode32(mp);
- mp->m_flags |= XFS_MOUNT_32BITINODES;
- } else {
- xfs_clear_inode32(mp);
- mp->m_flags &= ~XFS_MOUNT_32BITINODES;
- }
+ /* There is no inode32 mount option in userspace, so clear it. */
+ xfs_clear_inode32(mp);
for (index = 0; index < agcount; index++) {
struct xfs_perag *pag;
@@ -718,7 +699,7 @@ libxfs_mount(
dev_t dev,
dev_t logdev,
dev_t rtdev,
- int flags)
+ unsigned int flags)
{
struct xfs_buf *bp;
struct xfs_sb *sbp;
@@ -733,7 +714,6 @@ libxfs_mount(
libxfs_buftarg_init(mp, dev, logdev, rtdev);
mp->m_finobt_nores = true;
- mp->m_flags = (LIBXFS_MOUNT_32BITINODES|LIBXFS_MOUNT_32BITINOOPT);
xfs_set_inode32(mp);
mp->m_sb = *sb;
INIT_RADIX_TREE(&mp->m_perag_tree, GFP_KERNEL);
@@ -799,9 +779,6 @@ libxfs_mount(
xfs_da_mount(mp);
- if (xfs_has_attr2(mp))
- mp->m_flags |= LIBXFS_MOUNT_ATTR2;
-
/* Initialize the precomputed transaction reservations values */
xfs_trans_init(mp);
diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
index 2b72751d..b94ff41e 100644
--- a/libxfs/libxfs_priv.h
+++ b/libxfs/libxfs_priv.h
@@ -442,16 +442,6 @@ void __xfs_buf_mark_corrupt(struct xfs_buf *bp, xfs_failaddr_t fa);
#define xfs_buf_mark_corrupt(bp) __xfs_buf_mark_corrupt((bp), __this_address)
/* mount stuff */
-#define XFS_MOUNT_32BITINODES LIBXFS_MOUNT_32BITINODES
-#define XFS_MOUNT_ATTR2 LIBXFS_MOUNT_ATTR2
-#define XFS_MOUNT_SMALL_INUMS 0 /* ignored in userspace */
-#define XFS_MOUNT_WSYNC 0 /* ignored in userspace */
-#define XFS_MOUNT_NOALIGN 0 /* ignored in userspace */
-#define XFS_MOUNT_IKEEP 0 /* ignored in userspace */
-#define XFS_MOUNT_SWALLOC 0 /* ignored in userspace */
-#define XFS_MOUNT_RDONLY 0 /* ignored in userspace */
-#define XFS_MOUNT_BAD_SUMMARY 0 /* ignored in userspace */
-
#define xfs_trans_set_sync(tp) ((void) 0)
#define xfs_trans_buf_set_type(tp, bp, t) ({ \
int __t = (t); \
diff --git a/libxlog/xfs_log_recover.c b/libxlog/xfs_log_recover.c
index 592e4502..bb52af55 100644
--- a/libxlog/xfs_log_recover.c
+++ b/libxlog/xfs_log_recover.c
@@ -820,14 +820,6 @@ xlog_find_tail(
xlog_assign_atomic_lsn(&log->l_last_sync_lsn,
log->l_curr_cycle, after_umount_blk);
*tail_blk = after_umount_blk;
-
- /*
- * Note that the unmount was clean. If the unmount
- * was not clean, we need to know this to rebuild the
- * superblock counters from the perag headers if we
- * have a filesystem using non-persistent counters.
- */
- log->l_mp->m_flags |= XFS_MOUNT_WAS_CLEAN;
}
}
next prev parent reply other threads:[~2022-01-28 22:43 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-20 0:17 [PATCHSET 00/45] xfsprogs: sync libxfs with 5.15 Darrick J. Wong
2022-01-20 0:17 ` [PATCH 01/45] xfsprogs: fix static build problems caused by liburcu Darrick J. Wong
2022-01-20 0:17 ` [PATCH 02/45] xfs_{copy,db,logprint,repair}: pass xfs_mount pointers instead of xfs_sb pointers Darrick J. Wong
2022-01-28 22:01 ` Eric Sandeen
2022-01-20 0:17 ` [PATCH 03/45] xfs: remove support for disabling quota accounting on a mounted file system Darrick J. Wong
2022-01-20 0:17 ` [PATCH 04/45] xfs: remove the active vs running quota differentiation Darrick J. Wong
2022-01-20 0:17 ` [PATCH 05/45] xfs: replace kmem_alloc_large() with kvmalloc() Darrick J. Wong
2022-01-20 0:17 ` [PATCH 06/45] xfs: allow setting and clearing of log incompat feature flags Darrick J. Wong
2022-01-20 0:18 ` [PATCH 07/45] xfs: add attr state machine tracepoints Darrick J. Wong
2022-01-20 0:18 ` [PATCH 08/45] xfs: Rename __xfs_attr_rmtval_remove Darrick J. Wong
2022-01-20 0:18 ` [PATCH 09/45] xfs: make xfs_rtalloc_query_range input parameters const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 10/45] xfs: make the key parameters to all btree key comparison functions const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 11/45] xfs: make the key parameters to all btree query range " Darrick J. Wong
2022-01-20 0:18 ` [PATCH 12/45] xfs: make the record pointer passed to query_range " Darrick J. Wong
2022-01-20 0:18 ` [PATCH 13/45] xfs: mark the record passed into btree init_key functions as const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 14/45] xfs: make the keys and records passed to btree inorder functions const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 15/45] xfs: mark the record passed into xchk_btree functions as const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 16/45] xfs: make the pointer passed to btree set_root functions const Darrick J. Wong
2022-01-20 0:18 ` [PATCH 17/45] xfs: make the start pointer passed to btree alloc_block " Darrick J. Wong
2022-01-20 0:19 ` [PATCH 18/45] xfs: make the start pointer passed to btree update_lastrec " Darrick J. Wong
2022-01-20 0:19 ` [PATCH 19/45] xfs: constify btree function parameters that are not modified Darrick J. Wong
2022-01-20 0:19 ` [PATCH 20/45] xfs: resolve fork names in trace output Darrick J. Wong
2022-01-20 0:19 ` [PATCH 21/45] xfs: sb verifier doesn't handle uncached sb buffer Darrick J. Wong
2022-01-20 0:19 ` [PATCH 22/45] xfs: rename xfs_has_attr() Darrick J. Wong
2022-01-20 0:19 ` [PATCH 23/45] xfs: rework attr2 feature and mount options Darrick J. Wong
2022-01-20 0:19 ` [PATCH 24/45] xfs: reflect sb features in xfs_mount Darrick J. Wong
2022-01-20 0:19 ` [PATCH 25/45] xfs: replace xfs_sb_version checks with feature flag checks Darrick J. Wong
2022-01-20 0:19 ` [PATCH 26/45] xfs: convert mount flags to features Darrick J. Wong
2022-01-31 22:59 ` Eric Sandeen
2022-01-31 23:31 ` Darrick J. Wong
2022-01-20 0:19 ` [PATCH 27/45] xfs: convert remaining mount flags to state flags Darrick J. Wong
2022-01-20 0:19 ` [PATCH 28/45] xfs: replace XFS_FORCED_SHUTDOWN with xfs_is_shutdown Darrick J. Wong
2022-01-20 0:20 ` [PATCH 29/45] xfs: convert xfs_fs_geometry to use mount feature checks Darrick J. Wong
2022-01-20 0:20 ` [PATCH 30/45] xfs: open code sb verifier " Darrick J. Wong
2022-01-20 0:20 ` [PATCH 31/45] xfs: convert xfs_sb_version_has checks to use mount features Darrick J. Wong
2022-01-20 0:20 ` [PATCH 32/45] libxlog: replace xfs_sb_version checks with feature flag checks Darrick J. Wong
2022-01-28 22:03 ` Eric Sandeen
2022-01-20 0:20 ` [PATCH 33/45] libxfs: " Darrick J. Wong
2022-01-28 22:13 ` Eric Sandeen
2022-01-28 22:18 ` Darrick J. Wong
2022-01-20 0:20 ` [PATCH 34/45] xfs_{copy,db,logprint,repair}: " Darrick J. Wong
2022-01-28 22:16 ` Eric Sandeen
2022-01-20 0:20 ` [PATCH 35/45] xfs: remove unused xfs_sb_version_has wrappers Darrick J. Wong
2022-01-20 0:20 ` [PATCH 36/45] xfs: introduce xfs_sb_is_v5 helper Darrick J. Wong
2022-01-20 0:20 ` [PATCH 37/45] xfs: kill xfs_sb_version_has_v3inode() Darrick J. Wong
2022-01-20 0:20 ` [PATCH 38/45] libxfs: use opstate flags and functions for libxfs mount options Darrick J. Wong
2022-01-27 20:43 ` Eric Sandeen
2022-01-20 0:20 ` [PATCH 39/45] libxfs: remove pointless *XFS_MOUNT* flags Darrick J. Wong
2022-01-27 23:03 ` Eric Sandeen
2022-01-28 0:53 ` Darrick J. Wong
2022-01-28 20:01 ` Eric Sandeen
2022-01-28 21:59 ` Darrick J. Wong
2022-01-28 22:43 ` Darrick J. Wong [this message]
2022-01-28 22:59 ` [PATCH v1.1 " Eric Sandeen
2022-01-31 21:29 ` Eric Sandeen
2022-01-20 0:21 ` [PATCH 40/45] libxfs: clean up remaining LIBXFS_MOUNT flags Darrick J. Wong
2022-01-28 20:12 ` Eric Sandeen
2022-01-20 0:21 ` [PATCH 41/45] libxfs: always initialize internal buffer map Darrick J. Wong
2022-01-28 20:31 ` Eric Sandeen
2022-01-28 22:03 ` Darrick J. Wong
2022-01-28 22:27 ` Eric Sandeen
2022-01-31 20:30 ` Eric Sandeen
2022-01-20 0:21 ` [PATCH 42/45] libxfs: replace XFS_BUF_SET_ADDR with a function Darrick J. Wong
2022-01-28 20:53 ` Eric Sandeen
2022-01-28 23:04 ` Darrick J. Wong
2022-01-31 20:44 ` Eric Sandeen
2022-01-20 0:21 ` [PATCH 43/45] xfs: introduce xfs_buf_daddr() Darrick J. Wong
2022-01-20 0:21 ` [PATCH 44/45] xfs: convert bp->b_bn references to xfs_buf_daddr() Darrick J. Wong
2022-01-20 0:21 ` [PATCH 45/45] libxfs: rename buffer cache index variable b_bn Darrick J. Wong
2022-01-28 21:37 ` Eric Sandeen
2022-01-28 22:14 ` Darrick J. Wong
2022-01-28 22:31 ` Eric Sandeen
2022-01-28 20:54 ` [PATCHSET 00/45] xfsprogs: sync libxfs with 5.15 Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220128224300.GK13540@magnolia \
--to=djwong@kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@sandeen.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox