gfs2_inode_lookup(9)
πΈ NAME πΈ
okay so this is the manual page for gfs2_inode_lookup(9), straight from the Kernel API Manual, and it does one iconic thing: lookup an inode. no cap π
β¨ SYNOPSIS β¨
struct inode * gfs2_inode_lookup (struct super_block *sb , unsigned int
type , u64 no_addr , u64 no_formal_ino , unsigned int blktype );
π ARGUMENTS π
sbβ the super block. the whole vibe starts here π«Άtypeβ the type of the inode.no_addrβ the inode number.no_formal_inoβ the inode generation number.blktypeβ requested block type:GFS2_BLKST_DINODEorGFS2_BLKST_UNLINKED;GFS2_BLKST_FREEto indicate not to verify.
π¦ DESCRIPTION π¦
so if type is DT_UNKNOWN, the inode type is fetched from disk. slay. β¨
if blktype is anything other than GFS2_BLKST_FREE β which is literally used as a placeholder because it doesn't otherwise make sense β the on-disk block type is verified to be blktype. bestie, that's the vibe check right there π
when no_formal_ino is non-zero, this function will return ERR_PTR(-ESTALE) if it detects that no_formal_ino doesn't match the actual inode generation number. however, it doesn't always know unless type is DT_UNKNOWN. and that's the plot twist π
π RETURN π
a VFS inode, or an error. that's it, that's the whole energy π
π SEE ALSO π
kernel file ./fs/gfs2/inode.c β and the whole squad is here, no one left behind:
gfs2_set_iop(9)gfs2_lookup_by_inum(9)gfs2_lookup_meta(9)gfs2_lookupi(9)create_ok(9)gfs2_init_xattr(9)init_dinode(9)gfs2_trans_da_blks(9)gfs2_create_inode(9)gfs2_create(9)__gfs2_lookup(9)gfs2_link(9)gfs2_unlink_inode(9)gfs2_unlink(9)gfs2_symlink(9)gfs2_mkdir(9)gfs2_mknod(9)gfs2_atomic_open(9)update_moved_ino(9)gfs2_rename(9)gfs2_exchange(9)gfs2_get_link(9)gfs2_permission(9)gfs2_setattr(9)gfs2_getattr(9)
and that's the page, bestie π signed off by source ./fs/gfs2 and dated October 2026 β mwah πβ¨
π¦ 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