![]() | |||||||||||||
Messages in this thread |
Hi, After some more toying around, I have seen that it works correctly on ext2 fs but not on etx3. :) ... My questions inline .. On 10/7/05, Nikita Danilov <nikita@clusterfs.com> wrote: > Blocks read by bread() and friends are cached in block device (not you > :-) struct address_space. File data are cached in the per-inode struct > address_space. But even if I'm reading blocks from a device directly, they are finally blocks from the same inode. Why then are they stored separately ? > You are bypassing normal file sysetm caching and results can be > unpredictable. Is there then a safe way to do it w/o going through the filesystem caching ? If not, I guess the following steps will be required : a) Find out the page in the mapping corresponding to the blocks I need to write. b) Lock the page. Make changes. Mark it dirty and sync write it ? Is there something in the kernel which does this already ? Thanks for the help :) ! -Regards BD - 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/ | ||||||||||||
| Last update: 2005-10-07 11:39 [W:0.115 / U:0.170 seconds] ©2003-2008 Jasper Spaans | |||||||||||||