![]() | |||||||||||
Messages in this thread |
==> Regarding Re: [patch] call truncate_inode_pages in the DIO fallback to buffered I/O path; Zach Brown <zach.brown@oracle.com> adds: >> Why is this a problem? It's just like someone did a write(), and we'll >> invalidate the pagecache on the next direct-io operation. zach.brown> This was noticed as a distro regression as they moved from the zach.brown> kernels that used to invalidate the entire address space on zach.brown> direct io ops to more modern ones that only invalidate the zach.brown> region being written. Right. zach.brown> You can end up with significant memory pressure after this zach.brown> change with a large enough working set on disk. >> eek. truncate_inode_pages() will throw away dirty data. Very >> dangerous, much chin-scratching needed. zach.brown> Yeah, I failed to tell Jeff that it should be calling zach.brown> filemap_fdatawrite() first to get things into writeback. (And zach.brown> presumably not truncating if that returns an error.) Ahh, that explains it. The strange thing is that my test validates the file afterwards, and I was seeing correct data. I'll repost after another round of testing. Thanks! Jeff - 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: 2006-10-04 19:57 [from the cache] ©2003-2008 | |||||||||||