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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]