Lines Matching +full:max +full:- +full:rt

1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
45 #define XFS_ERR_RETRY_FOREVER -1
50 * signed 32-bit long is sufficient for a HZ value up to 24855. Making it
51 * signed lets us store the special "-1" value, meaning retry forever.
56 long retry_timeout; /* in jiffies, -1 = infinite */
60 * Per-cpu deferred inode inactivation GC lists.
85 * degenerate case of a pre-rtgroups filesystem, the incore rtgroup
86 * pretends to have a zero-block and zero-blklog rtgroup.
103 * equivalent to the RT groups already takes care of the power of 2
110 * Mask to extract the group-relative block number from a FSB.
111 * For a pre-rtgroups filesystem we pretend to have one very large
112 * rtgroup, so this mask must be 64-bit.
118 * RT device following the data device on the same block device for
145 * The struct xfsmount layout is optimised to separate read-mostly variables
146 * from variables that are frequently modified. We put the read-mostly variables
149 * Typically, read-mostly variables are those that are set at mount time and
170 struct xfs_buftarg *m_rtdev_targp; /* rt device */
172 struct xfs_mru_cache *m_filestream; /* per-mount filestream data */
182 uint8_t m_blkbb_log; /* blocklog - BBSHIFT */
184 uint8_t m_sectbb_log; /* sectlog - BBSHIFT */
187 uint m_blockmask; /* sb_blocksize-1 */
189 /* number of rt extents per rt bitmap block if rtgroups enabled */
191 uint m_alloc_mxr[2]; /* max alloc btree records */
193 uint m_bmap_dmxr[2]; /* max bmap btree records */
195 uint m_rmap_mxr[2]; /* max rmap btree records */
197 uint m_rtrmap_mxr[2]; /* max rtrmap btree records */
199 uint m_refc_mxr[2]; /* max refc btree records */
201 uint m_rtrefc_mxr[2]; /* max rtrefc btree records */
203 uint m_alloc_maxlevels; /* max alloc btree levels */
204 uint m_bm_maxlevels[2]; /* max bmap btree levels */
205 uint m_rmap_maxlevels; /* max rmap btree levels */
206 uint m_rtrmap_maxlevels; /* max rtrmap btree level */
207 uint m_refc_maxlevels; /* max refcount btree level */
208 uint m_rtrefc_maxlevels; /* max rtrefc btree level */
209 unsigned int m_agbtree_maxlevels; /* max level of all AG btrees */
210 unsigned int m_rtbtree_maxlevels; /* max level of all rt btrees */
213 uint m_ag_max_usable; /* max space per AG */
221 unsigned int m_rsumlevels; /* rt summary levels */
222 xfs_filblks_t m_rsumblocks; /* size of rt summary, FSBs */
228 uint64_t m_rtxblkmask; /* rt extent block mask */
235 bool m_finobt_nores; /* no per-AG finobt resv. */
245 * Bitsets of per-fs metadata that have been checked and/or are sick.
251 * Bitsets of rt metadata that have been checked and/or are sick.
258 * End of read-mostly variables. Frequently written variables and locks
261 * the read-mostly variables.
273 * extents or anything related to the rt device.
278 * RT version of the above.
297 struct xstats m_stats; /* per-fs stats */
348 #define M_IGEO(mp) (&(mp)->m_ino_geo)
364 #define XFS_FEAT_ASCIICI (1ULL << 8) /* ASCII only case-insens. */
371 #define XFS_FEAT_PQUOTINO (1ULL << 15) /* non-shared proj/grp quotas */
385 #define XFS_FEAT_ZONED (1ULL << 29) /* zoned RT device */
397 #define XFS_FEAT_GRPID (1ULL << 55) /* group-ID assigned from directory */
404 #define XFS_FEAT_NORECOVERY (1ULL << 62) /* no recovery - dirty fs */
410 return mp->m_features & XFS_FEAT_ ## NAME; \
418 mp->m_features |= XFS_FEAT_ ## NAME; \
419 xfs_sb_version_add ## name(&mp->m_sb); \
454 /* all rtgroups filesystems with an rt section have an rtsb */ in xfs_has_rtsb()
490 (mp->m_features & XFS_FEAT_ ## NAME); \
498 mp->m_features |= XFS_FEAT_ ## NAME; \
499 xfs_sb_version_add ## name(&mp->m_sb); \
516 * These do not change dynamically - features that can come and go, such as 32 in __XFS_HAS_V4_FEAT()
517 * bit inodes and read-only state, are kept as operational state rather than in __XFS_HAS_V4_FEAT()
546 #define XFS_OPSTATE_READONLY 4 /* read-only fs */ in __XFS_HAS_V4_FEAT()
577 /* Kernel has logged a warning about zoned RT device being used on this fs. */ in __XFS_HAS_V4_FEAT()
585 return test_bit(XFS_OPSTATE_ ## NAME, &mp->m_opstate); \ in __XFS_HAS_V4_FEAT()
589 return test_and_clear_bit(XFS_OPSTATE_ ## NAME, &mp->m_opstate); \
593 return test_and_set_bit(XFS_OPSTATE_ ## NAME, &mp->m_opstate); \
630 return !test_and_set_bit(nr, &mp->m_opstate);
648 * Max and min values for mount-option defined I/O
662 #define SHUTDOWN_CORRUPT_INCORE (1u << 3) /* corrupt in-memory structures */
682 do_div(ld, mp->m_sb.sb_agblocks); in xfs_daddr_to_agno()
690 return (xfs_agblock_t) do_div(ld, mp->m_sb.sb_agblocks); in xfs_daddr_to_agbno()
717 return percpu_counter_sum_positive(&mp->m_free[ctr].count); in xfs_sum_freecounter()
727 return percpu_counter_sum(&mp->m_free[ctr].count); in xfs_sum_freecounter_raw()
731 * This just provides and estimate without the cpu-local updates, use
737 return percpu_counter_read_positive(&mp->m_free[ctr].count); in xfs_estimate_freecounter()
743 return __percpu_counter_compare(&mp->m_free[ctr].count, rhs, batch); in xfs_compare_freecounter()
749 percpu_counter_set(&mp->m_free[ctr].count, val); in xfs_set_freecounter()
799 percpu_counter_add(&mp->m_delalloc_blks, delta); in xfs_mod_sb_delalloc()
812 return mp->m_ddev_targp; in xfs_group_type_buftarg()
814 return mp->m_rtdev_targp; in xfs_group_type_buftarg()