*参照元 [#sdd2fb02] #backlinks *説明 [#c0db458d] -パス: [[linux-4.4.1/include/linux/fs.h]] -FIXME: これは何? --説明 **参考 [#s578b7be] *実装 [#t2b525b4] /* * 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; - --[[linux-4.4.1/umode_t]] unsigned short i_opflags; kuid_t i_uid; kgid_t i_gid; - --[[linux-4.4.1/kuid_t]] --[[linux-4.4.1/kgid_t]] unsigned int i_flags; #ifdef CONFIG_FS_POSIX_ACL - --[[linux-4.4.1/CONFIG_FS_POSIX_ACL]] struct posix_acl *i_acl; struct posix_acl *i_default_acl; - --[[linux-4.4.1/posix_acl]] #endif const struct inode_operations *i_op; - --[[linux-4.4.1/inode_operations]] struct super_block *i_sb; - --[[linux-4.4.1/super_block]] struct address_space *i_mapping; - --[[linux-4.4.1/address_space]] #ifdef CONFIG_SECURITY - --[[linux-4.4.1/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; - --[[linux-4.4.1/dev_t]] --[[linux-4.4.1/loff_t]] struct timespec i_atime; struct timespec i_mtime; struct timespec i_ctime; - --[[linux-4.4.1/timespec]] spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ - --[[linux-4.4.1/spinlock_t]] unsigned short i_bytes; unsigned int i_blkbits; blkcnt_t i_blocks; - --[[linux-4.4.1/blkcnt_t]] #ifdef __NEED_I_SIZE_ORDERED - --[[linux-4.4.1/__NEED_I_SIZE_ORDERED]] seqcount_t i_size_seqcount; - --[[linux-4.4.1/seqcount_t]] #endif /* Misc */ unsigned long i_state; struct mutex i_mutex; - --[[linux-4.4.1/i_mutex]] 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 */ - --[[linux-4.4.1/hlist_node]] --[[linux-4.4.1/list_head]] #ifdef CONFIG_CGROUP_WRITEBACK - --[[linux-4.4.1/CONFIG_CGROUP_WRITEBACK]] struct bdi_writeback *i_wb; /* the associated cgroup wb */ - --[[linux-4.4.1/bdi_writeback]] /* 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; - --[[linux-4.4.1/list_head]] union { struct hlist_head i_dentry; struct rcu_head i_rcu; }; - --[[linux-4.4.1/rcu_head]] u64 i_version; atomic_t i_count; atomic_t i_dio_count; atomic_t i_writecount; - --[[linux-4.4.1/atomic_t]] #ifdef CONFIG_IMA - --[[linux-4.4.1/CONFIG_IMA]] atomic_t i_readcount; /* struct files open RO */ #endif const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ - --[[linux-4.4.1/file_operations]] struct file_lock_context *i_flctx; - --[[linux-4.4.1/file_lock_context]] struct address_space i_data; struct list_head i_devices; union { struct pipe_inode_info *i_pipe; - --[[linux-4.4.1/pipe_inode_info]] struct block_device *i_bdev; - --[[linux-4.4.1/block_device]] struct cdev *i_cdev; - --[[linux-4.4.1/cdev]] char *i_link; }; __u32 i_generation; #ifdef CONFIG_FSNOTIFY - --[[linux-4.4.1/CONFIG_FSNOTIFY]] __u32 i_fsnotify_mask; /* all events this inode cares about */ struct hlist_head i_fsnotify_marks; #endif void *i_private; /* fs or device private pointer */ }; *コメント [#x51e3737]