PatchworkOS
Loading...
Searching...
No Matches
inode_t Struct Reference

Inode structure. More...

#include <inode.h>

Data Fields

ref_t ref
 
inode_number_t number
 Constant after creation.
 
inode_type_t type
 Constant after creation.
 
inode_flags_t flags
 
uint64_t linkCount
 
uint64_t size
 
uint64_t blocks
 
time_t accessTime
 Unix time stamp for the last inode access.
 
time_t modifyTime
 Unix time stamp for last file content alteration.
 
time_t changeTime
 Unix time stamp for the last file metadata alteration.
 
time_t createTime
 Unix time stamp for the inode creation.
 
void * private
 
superblock_tsuperblock
 Constant after creation.
 
const inode_ops_tops
 Constant after creation.
 
const file_ops_tfileOps
 Constant after creation.
 
mutex_t mutex
 
map_entry_t mapEntry
 Protected by the inodeCache lock.
 

Detailed Description

Inode structure.

Inodes are owned by the filesystem, not the VFS.

Definition at line 53 of file inode.h.

Field Documentation

◆ accessTime

time_t inode_t::accessTime

Unix time stamp for the last inode access.

Definition at line 62 of file inode.h.

Referenced by inode_new(), inode_notify_access(), and vfs_stat().

◆ blocks

uint64_t inode_t::blocks

Definition at line 61 of file inode.h.

Referenced by inode_new(), ramfs_inode_new(), and vfs_stat().

◆ changeTime

time_t inode_t::changeTime

Unix time stamp for the last file metadata alteration.

Definition at line 64 of file inode.h.

Referenced by inode_new(), inode_notify_change(), inode_notify_modify(), and vfs_stat().

◆ createTime

time_t inode_t::createTime

Unix time stamp for the inode creation.

Definition at line 65 of file inode.h.

Referenced by inode_new(), and vfs_stat().

◆ fileOps

const file_ops_t* inode_t::fileOps

Constant after creation.

Definition at line 69 of file inode.h.

Referenced by file_new(), and inode_new().

◆ flags

inode_flags_t inode_t::flags

Definition at line 58 of file inode.h.

Referenced by inode_new().

◆ linkCount

uint64_t inode_t::linkCount

Definition at line 59 of file inode.h.

Referenced by inode_new(), ramfs_link(), ramfs_remove_file(), and vfs_stat().

◆ mapEntry

map_entry_t inode_t::mapEntry

Protected by the inodeCache lock.

Definition at line 71 of file inode.h.

Referenced by inode_new(), and vfs_add_inode().

◆ modifyTime

time_t inode_t::modifyTime

Unix time stamp for last file content alteration.

Definition at line 63 of file inode.h.

Referenced by inode_new(), inode_notify_modify(), and vfs_stat().

◆ mutex

◆ number

inode_number_t inode_t::number

Constant after creation.

Definition at line 56 of file inode.h.

Referenced by dentry_generic_getdents(), getdents_recursive_traversal(), inode_new(), vfs_add_inode(), vfs_remove_inode(), and vfs_stat().

◆ ops

const inode_ops_t* inode_t::ops

Constant after creation.

Definition at line 68 of file inode.h.

Referenced by inode_free(), inode_new(), inode_truncate(), vfs_create(), vfs_get_or_lookup_dentry(), vfs_link(), and vfs_remove().

◆ private

◆ ref

ref_t inode_t::ref

Definition at line 55 of file inode.h.

Referenced by inode_new(), and vfs_get_inode().

◆ size

uint64_t inode_t::size

◆ superblock

superblock_t* inode_t::superblock

Constant after creation.

Definition at line 67 of file inode.h.

Referenced by inode_free(), inode_new(), ramfs_create(), vfs_add_inode(), and vfs_remove_inode().

◆ type


The documentation for this struct was generated from the following file: