VFS之inode
来源:互联网 发布:卡通人物制作的软件 编辑:程序博客网 时间:2024/06/05 14:56
对文件的抽象,即inode索引节点描述:
/* * Keep mostly read-only and often accessed (especially for * the RCU path lookup and 'stat' data) fields at the beginning * of the 'struct inode' */struct inode { umode_t i_mode; unsigned short i_opflags; kuid_t i_uid; kgid_t i_gid; unsigned int i_flags;
#ifdef CONFIG_FS_POSIX_ACL struct posix_acl *i_acl; struct posix_acl *i_default_acl;#endif
const struct inode_operations *i_op; struct super_block *i_sb; struct address_space *i_mapping;
#ifdef CONFIG_SECURITY void *i_security;#endif
/* Stat data, not accessed from path walking */ unsigned long i_ino; /* * Filesystems may only read i_nlink directly. They shall use the * following functions for modification: * * (set|clear|inc|drop)_nlink * inode_(inc|dec)_link_count */ union { const unsigned int i_nlink; unsigned int __i_nlink; }; dev_t i_rdev; loff_t i_size; struct timespec i_atime; struct timespec i_mtime; struct timespec i_ctime; spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ unsigned short i_bytes; unsigned int i_blkbits; blkcnt_t i_blocks;
#ifdef __NEED_I_SIZE_ORDERED seqcount_t i_size_seqcount;#endif
/* Misc */ unsigned long i_state; struct rw_semaphore i_rwsem;
unsigned long dirtied_when; /* jiffies of first dirtying */ unsigned long dirtied_time_when;
struct hlist_node i_hash; struct list_head i_io_list; /* backing dev IO list */#ifdef CONFIG_CGROUP_WRITEBACK struct bdi_writeback *i_wb; /* the associated cgroup wb */
/* foreign inode detection, see wbc_detach_inode() */ int i_wb_frn_winner; u16 i_wb_frn_avg_time; u16 i_wb_frn_history;#endif struct list_head i_lru; /* inode LRU list */ struct list_head i_sb_list; struct list_head i_wb_list; /* backing dev writeback list */ union { struct hlist_head i_dentry; struct rcu_head i_rcu; }; u64 i_version; atomic_t i_count; atomic_t i_dio_count; atomic_t i_writecount;#ifdef CONFIG_IMA atomic_t i_readcount; /* struct files open RO */#endif const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ struct file_lock_context *i_flctx; struct address_space i_data; struct list_head i_devices; union { struct pipe_inode_info *i_pipe; struct block_device *i_bdev; struct cdev *i_cdev; char *i_link; unsigned i_dir_seq; };
__u32 i_generation;
#ifdef CONFIG_FSNOTIFY __u32 i_fsnotify_mask; /* all events this inode cares about */ struct hlist_head i_fsnotify_marks;#endif
#if IS_ENABLED(CONFIG_FS_ENCRYPTION) struct fscrypt_info *i_crypt_info;#endif
void *i_private; /* fs or device private pointer */};
- VFS之inode
- VFS之inode操作
- linux vfs 解析 之 inode
- linux VFS 之三:索引节点inode
- linux-vfs : inode number
- vfs inode 和具体文件系统的inode
- vfs中的dentry、inode、super_block概念
- 从VFS inode到LFS inode的寻址过程
- Linux文件系统中的inode索引结点 VFS inode
- 关于VFS文件系统中的superblock、inode、d_entry和file数据结构
- 关于VFS文件系统中的superblock、inode、d_entry和file数据结构
- 关于VFS文件系统中的superblock、inode、d_entry和file数据结构
- vfs的superblock、inode、dentry、file之间的关系
- VFS文件系统之二: VFS的数据结构
- linux VFS 之七:VFS精髓总结
- VFS之super_block
- linux文件系统之VFS
- VFS之基本数据结构
- AttributeError: '_csv.reader' object has no attribute 'next'
- 166. Fraction to Recurring Decimal
- 酷炫的几款下拉刷新框架之Phoenix Pull-To-Refresh
- springmvc简介
- 深入理解Android中Handler机制
- VFS之inode
- JSP+Servlet培训班作业管理系统[17] -完结篇之功能点介绍
- 字符串类_运算符重载
- 51 NOD 1239 欧拉函数之和(杜教筛)
- 类初始化顺序备忘
- 信用卡校验
- VFS之file描述
- 筋斗云接口编程 / 对象型接口(三)
- Gson存在的问题(更准确地说是它不同的做法)