fs/xfs/libxfs/xfs_shared.h
Source file repositories/reference/linux-study-clean/fs/xfs/libxfs/xfs_shared.h
File Facts
- System
- Linux kernel
- Corpus path
fs/xfs/libxfs/xfs_shared.h- Extension
.h- Size
- 8453 bytes
- Lines
- 258
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct xfs_iforkstruct xfs_bufstruct xfs_buf_opsstruct xfs_mountstruct xfs_transstruct xfs_inodestruct xfs_trans_resstruct xfs_ino_geometryfunction xfs_btree_is_bnofunction xfs_btree_is_cntfunction xfs_btree_is_bmapfunction xfs_btree_is_inofunction xfs_btree_is_finofunction xfs_btree_is_refcountfunction xfs_btree_is_rmapfunction xfs_btree_is_mem_rmapfunction xfs_btree_is_mem_rtrmapfunction xfs_btree_is_rtrmapfunction xfs_btree_is_rtrefcount
Annotated Snippet
struct xfs_ino_geometry {
/* Maximum inode count in this filesystem. */
uint64_t maxicount;
/* Actual inode cluster buffer size, in bytes. */
unsigned int inode_cluster_size;
/*
* Desired inode cluster buffer size, in bytes. This value is not
* rounded up to at least one filesystem block, which is necessary for
* the sole purpose of validating sb_spino_align. Runtime code must
* only ever use inode_cluster_size.
*/
unsigned int inode_cluster_size_raw;
/* Inode cluster sizes, adjusted to be at least 1 fsb. */
unsigned int inodes_per_cluster;
unsigned int blocks_per_cluster;
/* Inode cluster alignment. */
unsigned int cluster_align;
unsigned int cluster_align_inodes;
unsigned int inoalign_mask; /* mask sb_inoalignmt if used */
unsigned int inobt_mxr[2]; /* max inobt btree records */
unsigned int inobt_mnr[2]; /* min inobt btree records */
unsigned int inobt_maxlevels; /* max inobt btree levels. */
/* Size of inode allocations under normal operation. */
unsigned int ialloc_inos;
unsigned int ialloc_blks;
/* Minimum inode blocks for a sparse allocation. */
unsigned int ialloc_min_blks;
/* stripe unit inode alignment */
unsigned int ialloc_align;
unsigned int agino_log; /* #bits for agino in inum */
/* precomputed default inode attribute fork offset */
unsigned int attr_fork_offset;
/* precomputed value for di_flags2 */
uint64_t new_diflags2;
/* minimum folio order of a page cache allocation */
unsigned int min_folio_order;
};
#endif /* __XFS_SHARED_H__ */
Annotation
- Detected declarations: `struct xfs_ifork`, `struct xfs_buf`, `struct xfs_buf_ops`, `struct xfs_mount`, `struct xfs_trans`, `struct xfs_inode`, `struct xfs_trans_res`, `struct xfs_ino_geometry`, `function xfs_btree_is_bno`, `function xfs_btree_is_cnt`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.