5.3.2.1.12. File Structure
struct file {
  struct list_head        f_list;
  struct dentry           *f_dentry;
  struct vfsmount         *f_vfsmnt;
  struct file_operations  *f_op;
  atomic_t                f_count;
  unsigned int            f_flags;
  mode_t                  f_mode;
  int                     f_error;
  loff_t                  f_pos;
  struct fown_struct      f_owner;
  unsigned int            f_uid, f_gid;
  struct file_ra_state    f_ra;

  size_t                  f_maxcount;
  unsigned long           f_version;
  void                    *f_security;

  /* needed for tty driver, and maybe others */
  void                    *private_data;

#ifdef CONFIG_EPOLL
  /* Used by fs/eventpoll.c to link all the hooks to this file */
  struct list_head        f_ep_links;
  spinlock_t              f_ep_lock;
#endif /* #ifdef CONFIG_EPOLL */
  struct address_space    *f_mapping;
};