fs/gfs2/inode.h
Source file repositories/reference/linux-study-clean/fs/gfs2/inode.h
File Facts
- System
- Linux kernel
- Corpus path
fs/gfs2/inode.h- Extension
.h- Size
- 3971 bytes
- Lines
- 136
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: operation-table or driver-model contract
- Status
- pattern 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.
- Defines an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/fs.hlinux/buffer_head.hlinux/mm.hutil.h
Detected Declarations
function gfs2_is_stuffedfunction gfs2_is_jdatafunction gfs2_is_orderedfunction gfs2_is_writebackfunction gfs2_is_dirfunction gfs2_set_inode_blocksfunction gfs2_get_inode_blocksfunction gfs2_add_inode_blocksfunction gfs2_check_inumfunction gfs2_inum_outfunction gfs2_check_internal_file_sizefunction gfs2_localflocksfunction gfs2_localflocks
Annotated Snippet
extern const struct file_operations gfs2_file_fops_nolock;
extern const struct file_operations gfs2_dir_fops_nolock;
int gfs2_fileattr_get(struct dentry *dentry, struct file_kattr *fa);
int gfs2_fileattr_set(struct mnt_idmap *idmap,
struct dentry *dentry, struct file_kattr *fa);
void gfs2_set_inode_flags(struct inode *inode);
#ifdef CONFIG_GFS2_FS_LOCKING_DLM
extern const struct file_operations gfs2_file_fops;
extern const struct file_operations gfs2_dir_fops;
static inline int gfs2_localflocks(const struct gfs2_sbd *sdp)
{
return sdp->sd_args.ar_localflocks;
}
#else /* Single node only */
#define gfs2_file_fops gfs2_file_fops_nolock
#define gfs2_dir_fops gfs2_dir_fops_nolock
static inline int gfs2_localflocks(const struct gfs2_sbd *sdp)
{
return 1;
}
#endif /* CONFIG_GFS2_FS_LOCKING_DLM */
#endif /* __INODE_DOT_H__ */
Annotation
- Immediate include surface: `linux/fs.h`, `linux/buffer_head.h`, `linux/mm.h`, `util.h`.
- Detected declarations: `function gfs2_is_stuffed`, `function gfs2_is_jdata`, `function gfs2_is_ordered`, `function gfs2_is_writeback`, `function gfs2_is_dir`, `function gfs2_set_inode_blocks`, `function gfs2_get_inode_blocks`, `function gfs2_add_inode_blocks`, `function gfs2_check_inum`, `function gfs2_inum_out`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: pattern 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.