STRUCT ADDRESS_SPACE(9)
π NAME π
struct address_space β Contents of a cacheable, mappable object. This is from the kernel API manual, section 9, and bestie, struct address_space(9) is literally the main character here. π
β¨ SYNOPSIS β¨
struct address_space {
struct inode *host;
struct xarray i_pages;
struct rw_semaphore invalidate_lock;
gfp_t gfp_mask;
atomic_t i_mmap_writable;
struct rb_root_cached i_mmap;
unsigned long nrpages;
pgoff_t writeback_index;
const struct address_space_operations *a_ops;
unsigned long flags;
errseq_t wb_err;
spinlock_t i_private_lock;
struct rw_semaphore i_mmap_rwsem;
};
πΈ MEMBERS πΈ
Vibe check: every member is right here, no skips, no cap. π
hostβ Owner, either theinodeor theblock_device. πi_pagesβ Cached pages. πinvalidate_lockβ Guards coherency between page cache contents and fileoffset->diskblock mappings in the filesystem during invalidates. It is also used to block modification of page cache contents through memory mappings. π₯gfp_maskβ Memory allocation flags to use for allocating pages. β¨i_mmap_writableβ Number ofVM_SHARED,VM_MAYWRITEmappings. π¦i_mmapβ Tree of private and shared mappings. πΈnrpagesβ Number of page entries, protected by thei_pageslock. πwriteback_indexβ Writeback starts here. π«Άa_opsβ Methods. π§flagsβ Error bits and flags (AS_*). βwb_errβ The most recent error which has occurred. πi_private_lockβ For use by the owner of theaddress_space. πi_mmap_rwsemβ Protectsi_mmapandi_mmap_writable. π
π¦ SEE ALSO π¦
Kernel file ./include/linux/fs.h, plus all these cross-refs β iykyk. π
enum positive_aop_returns(9)struct file_ra_state(9)struct file(9)i_uid_into_vfsuid(9)i_uid_needs_update(9)i_uid_update(9)i_gid_into_vfsgid(9)i_gid_needs_update(9)i_gid_update(9)inode_fsuid_set(9)inode_fsgid_set(9)fsuidgid_has_mapping(9)inode_set_ctime(9)file_write_started(9)file_write_not_started(9)struct renamedata(9)is_mgtime(9)iput_if_not_last(9)is_idmapped_mnt(9)file_start_write(9)file_end_write(9)kiocb_start_write(9)kiocb_end_write(9)name_is_dot_dotdot(9)name_contains_dotdot(9)inode_dio_begin(9)inode_dio_end(9)generic_ci_validate_strict_name(9)
βΏ source: ./include/linux Β· date: October 2026 Β· manual page: struct address_space(9) βΏ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms