Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: [ANNOUNCE] mini_fo-0.6.0 overlay file system | Date | Fri, 13 May 2005 16:57:52 -0400 |
| |
On May 13, 2005, at 08:24:51, Jörn Engel wrote: > That and replacing the page cache by something different. Page cache > is referencing pages by inode,offset pairs. Having a potentially > infinite amount of inodes to look at, in order, may require a tiny bit > of patching. ;)
Why modify the page cache (much)? In the sparse-nonresident-file case, when a filesystem is asked to return a page-cache page mapped to the file, it looks it up in itself. If that call returns ENONRESIDENT or similar, the VFS union code would go to the next filesystem in the stack and attempt a similar lookup. If any filesystem but the root returns a page, then the unionfs code would map it read-only and COW. When the COW triggers, it will call into the VFS union code, which will either: (a) If the topmost filesystem supports sparse-nonresident, then have it allocate the new page on-disk. (b) Otherwise, copy the whole file and modify the page.
Then it would return the new now-writeable pagecache page.
Cheers, Kyle Moffett
-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCM/CS/IT/U d- s++: a18 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$ L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+ PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r !y?(-) ------END GEEK CODE BLOCK------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |