]>
git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - include/xfs_multidisk.h
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2001,2004-2005 Silicon Graphics, Inc.
6 #ifndef __XFS_MULTIDISK_H__
7 #define __XFS_MULTIDISK_H__
9 #define XFS_DFL_SB_VERSION_BITS \
10 (XFS_SB_VERSION_NLINKBIT | \
11 XFS_SB_VERSION_EXTFLGBIT | \
12 XFS_SB_VERSION_DIRV2BIT)
14 #define XFS_DFL_BLOCKSIZE_LOG 12 /* 4096 byte blocks */
15 #define XFS_DINODE_DFL_LOG 8 /* 256 byte inodes */
16 #define XFS_DINODE_DFL_CRC_LOG 9 /* 512 byte inodes for CRCs */
17 #define XFS_MIN_INODE_PERBLOCK 2 /* min inodes per block */
18 #define XFS_DFL_IMAXIMUM_PCT 25 /* max % of space for inodes */
19 #define XFS_MIN_REC_DIRSIZE 12 /* 4096 byte dirblocks (V2) */
20 #define XFS_MAX_INODE_SIG_BITS 32 /* most significant bits in an
21 * inode number that we'll
25 #define XFS_AG_BYTES(bblog) ((long long)BBSIZE << (bblog))
26 #define XFS_MIN_DATA_BLOCKS(cfg) (XFS_AG_MIN_BLOCKS((cfg)->blocklog))
27 #define XFS_AG_MIN_BYTES ((XFS_AG_BYTES(15))) /* 16 MB */
28 #define XFS_AG_MAX_BYTES ((XFS_AG_BYTES(31))) /* 1 TB */
29 #define XFS_AG_MIN_BLOCKS(blog) (XFS_AG_MIN_BYTES >> (blog))
30 #define XFS_AG_MAX_BLOCKS(blog) ((XFS_AG_MAX_BYTES - 1) >> (blog))
32 #define XFS_MAX_AGNUMBER ((xfs_agnumber_t)(NULLAGNUMBER - 1))
35 * These values define what we consider a "multi-disk" filesystem. That is, a
36 * filesystem that is likely to be made up of multiple devices, and hence have
37 * some level of parallelism available to it at the IO level.
39 #define XFS_MULTIDISK_AGLOG 5 /* 32 AGs */
40 #define XFS_NOMULTIDISK_AGLOG 2 /* 4 AGs */
41 #define XFS_MULTIDISK_AGCOUNT (1 << XFS_MULTIDISK_AGLOG)
43 #endif /* __XFS_MULTIDISK_H__ */