5.3.2.1.10. Index Node Structure
struct inode {
  struct hlist_node       i_hash;
  struct list_head        i_list;
  struct list_head        i_sb_list;
  struct list_head        i_dentry;

  unsigned long           i_ino;
  atomic_t                i_count;
  umode_t                 i_mode;
  unsigned int            i_nlink;

  uid_t                   i_uid;
  gid_t                   i_gid;
  dev_t                   i_rdev;
  loff_t                  i_size;

  struct timespec         i_atime;
  struct timespec         i_mtime;
  struct timespec         i_ctime;

  unsigned int            i_blkbits;
  unsigned long           i_blksize;

  unsigned long           i_version;
  unsigned long           i_blocks;
  unsigned short          i_bytes;

  unsigned char           i_sock;
  spinlock_t              i_lock; /* i_blocks, i_bytes, maybe i_size */
  struct semaphore        i_sem;
  struct rw_semaphore     i_alloc_sem;

  struct inode_operations *i_op;
  struct file_operations  *i_fop; /* former ->i_op->default_file_ops */

  struct super_block      *i_sb;
  struct file_lock        *i_flock;

  struct address_space    *i_mapping;
  struct address_space    i_data;
#ifdef CONFIG_QUOTA
  struct dquot            *i_dquot[MAXQUOTAS];
#endif

  /* These three should probably be a union */
  struct list_head        i_devices;
  struct pipe_inode_info  *i_pipe;
  struct block_device     *i_bdev;
  struct cdev             *i_cdev;
  int                     i_cindex;

  __u32                   i_generation;

#ifdef CONFIG_DNOTIFY
  unsigned long           i_dnotify_mask; /* Directory notify events */
  struct dnotify_struct   *i_dnotify; /* for directory notifications */
#endif

  unsigned long           i_state;
  unsigned long           dirtied_when;   /* jiffies of first dirtying */

  unsigned int            i_flags;

  atomic_t                i_writecount;
  void                    *i_security;
  union {
    void                  *generic_ip;
  } u;
#ifdef __NEED_I_SIZE_ORDERED
  seqcount_t              i_size_seqcount;
#endif
};