On Tue, 2006-10-10 at 13:49 +0100, David Howells wrote:
> Trond Myklebust <[email protected]> wrote:
>
> > No. Invalidatepage does precisely the wrong thing: it invalidates dirty
> > data instead of committing it to disk. If you need to have the data
> > invalidated, then you should call truncate_inode_pages().
>
> Hmmm... Good point, but you still need to handle try_to_release_page() failing,
> but that only means checking the return value of invalidate_inode_pages2_range
> (which you don't do, I notice). Or is it defined that if must succeed if
> __GFP_WAIT is set?
The only way for it to fail if __GFP_IO is set, is if someone kills the
process.
Note that since the NFS client itself will flush out all dirty data to
disk prior to calling invalidate_inode_pages2, the only thing we're
trying to do here is to avoid races while invalidating those pages.
> With the two-phase thing, I think I'm thinking of the wrong portion of that
> file (I'm thinking of truncate_inode_pages_range()).
>
> Should invalidate_inode_pages2_range() take a gfp_t argument to pass on down?
Maybe. Do any of the current callers care? NFS should be quite happy
with the patch that is currently in Andrew's tree.
Trond
-
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]