49 | | A ''mapper_t'' structure is attached to each inode, and contains a partial copy in kernel memory of the file content on device implementing a single file cache. As a file is stored on device as an ordered set of 4 Kbytes pages, this cache is implemented as a three levels radix-tree, indexed by the page index in file. Each entry in this radix-tree is a pointer on a physical page. |
50 | | * for a '''terminal file''', ALMOS MKH implements an ''on-demand'' policy, and copies a page from device to mapper only when this page is accessed for read or write. |
51 | | * for a '''directory file''', ALMOS-MKH implements a ''prefetch'' policy'', and copies all the pages from device to mapper at the first access to the directory. |
| 49 | A ''mapper_t'' structure is attached to each inode. This structure implements an expandable file cache, and contains a partial copy in kernel memory of the file content on device. As a file is stored on device as an ordered set of 4 Kbytes pages, this cache is implemented as a 3 levels radix-tree, indexed by the page index in file. Each entry in this radix-tree is a pointer on a physical page. |
| 50 | * for a '''terminal file''', ALMOS MKH implements an ''on-demand'' policy: it introduces a new physical page in mapper and initializes if from device only when this page is accessed for read or write. |
| 51 | * for a '''directory file''', ALMOS-MKH implements a ''prefetch'' policy'': all the pages are copied from device to mapper at the first access to the directory. |