*参照元 [#l14d7c75]
#backlinks

*説明 [#ef60a8d8]
-パス: [[linux-4.4.1/include/linux/fs.h]]

-FIXME: これは何?
--説明


**参考 [#w46d7fa9]


*実装 [#xce7a933]
 struct address_space {
         struct inode            *host;          /* owner: inode, block_device */
-
--[[linux-4.4.1/inode]]

         struct radix_tree_root  page_tree;      /* radix tree of all pages */
-
--[[linux-4.4.1/radix_tree_root]]

         spinlock_t              tree_lock;      /* and lock protecting it */
-
--[[linux-4.4.1/spinlock_t]]

         atomic_t                i_mmap_writable;/* count VM_SHARED mappings */
-
--[[linux-4.4.1/atomic_t]]

         struct rb_root          i_mmap;         /* tree of private and shared mappings */
-
--[[linux-4.4.1/rb_root]]

         struct rw_semaphore     i_mmap_rwsem;   /* protect tree, count, list */
-
--[[linux-4.4.1/rw_semaphore]]

         /* Protected by tree_lock together with the radix tree */
         unsigned long           nrpages;        /* number of total pages */
         unsigned long           nrshadows;      /* number of shadow entries */
         pgoff_t                 writeback_index;/* writeback starts here */
-
--[[linux-4.4.1/pgoff_t]]

         const struct address_space_operations *a_ops;   /* methods */
-
--[[linux-4.4.1/address_space_operations]]

         unsigned long           flags;          /* error bits/gfp mask */
         spinlock_t              private_lock;   /* for use by the address_space */
         struct list_head        private_list;   /* ditto */
         void                    *private_data;  /* ditto */
-
--[[linux-4.4.1/spinlock_t]]
--[[linux-4.4.1/list_head]]

 } __attribute__((aligned(sizeof(long))));
         /*
          * On most architectures that alignment is already the case; but
          * must be enforced here for CRIS, to let the least significant bit
          * of struct page's "mapping" pointer be used for PAGE_MAPPING_ANON.
          */


*コメント [#r71a9ecc]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS