On Mon, Jun 15, 2009 at 06:09:54PM +0800, Wu Fengguang wrote: > On Mon, Jun 15, 2009 at 04:14:53PM +0800, Nick Piggin wrote: > > On Mon, Jun 15, 2009 at 08:44:47AM +0200, Nick Piggin wrote: > > > Did we verify with filesystem maintainers (eg. btrfs) that the > > > !ISREG test will be enough to prevent oopses? > > > > BTW. this is quite a significant change I think and not > > really documented well enough. Previously a filesystem > > will know exactly when and why pagecache in a mapping > > under its control will be truncated (as opposed to > > invalidated). > > > > They even have opportunity to hold locks such as i_mutex. > > > > And depending on what they do, they could do interesting > > things even with ISREG files. > > > > So, I really think this needs review by filesystem > > maintainers and it would be far safer to use invalidate > > until it is known to be safe. > > Nick, we are doing invalidate_complete_page() for !S_ISREG inodes now. > Do you mean to do invalidate_complete_page() for all inodes for now? That would make me a lot happier. It is obviously correct because that is basically what page reclaim and inode reclaim and drop caches etc does. Note that I still don't like exporting invalidate_complete_page fro the same reasons I don't like exporting truncate_complete_page, so I will ask if you can do an invalidate_inode_page function along the same lines of the truncate_inode_page one please. > That's a good suggestion, it shall be able to do the job for most > pages indeed. Yes I think it will be far far safer while only introducing another small class of pages which cannot be recovered (probably a much smaller set most of the time than the size of the existing set of pages which cannot be recovered). -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html