From: Darrick J. Wong Date: Mon, 31 Jan 2022 22:46:02 +0000 (-0500) Subject: Get rid of these flags and the m_flags field, since none of them do X-Git-Tag: v5.15.0-rc0~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed8f598036092e4799c262188d21668227dcbdf2;p=thirdparty%2Fxfsprogs-dev.git Get rid of these flags and the m_flags field, since none of them do anything anymore. Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen [sandeen: keep xfs_set_inode_alloc similar to kernel for now] Signed-off-by: Eric Sandeen --- diff --git a/db/attrset.c b/db/attrset.c index 98a08a490..0d8d70a84 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 90fd652b3..b02abc272 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. */ @@ -251,16 +250,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 48d5f6925..b58795023 100644 --- a/libxfs/init.c +++ b/libxfs/init.c @@ -501,6 +501,9 @@ rtmount_init( * to the potentially higher ag count. * * Returns the maximum AG index which may contain inodes. + * + * NOTE: userspace has no concept of "inode32" and so xfs_has_small_inums + * is always false, and much of this code is a no-op. */ xfs_agnumber_t xfs_set_inode_alloc( @@ -539,13 +542,10 @@ xfs_set_inode_alloc( * sufficiently large, set XFS_MOUNT_32BITINODES if we must alter * the allocator to accommodate the request. */ - if (xfs_has_small_inums(mp) && ino > XFS_MAXINUMBER_32) { + if (xfs_has_small_inums(mp) && ino > XFS_MAXINUMBER_32) xfs_set_inode32(mp); - mp->m_flags |= XFS_MOUNT_32BITINODES; - } else { + else xfs_clear_inode32(mp); - mp->m_flags &= ~XFS_MOUNT_32BITINODES; - } for (index = 0; index < agcount; index++) { struct xfs_perag *pag; @@ -717,7 +717,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; @@ -732,7 +732,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); @@ -798,9 +797,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 2b72751d1..b94ff41ed 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 592e45022..bb52af555 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; } }