lkml.org 
[lkml]   [2008]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch 1/2] mm: dont clear PG_uptodate in invalidate_complete_page2()
From
Date
> > I also really don't think this even fixes the problems you have with 
> > FUSE/NFSD - because you'll still be reading zeroes for a truncated file.
> > Yes, you get the rigth counts, but you don't get the right data.
> ...
> > That's "correct" from a splice() kind of standpoint (it's essentially a
> > temporary mmap() with MAP_PRIVATE), but the thing is, it just sounds like
> > the whole "page went away" thing is a more fundamental issue. It sounds
> > like nfds should hold a read-lock on the file while it has any IO in
> > flight, or something like that.
>
> I'm thinking any kind of user-space server using splice() will not
> want to transmit zeros either, when another process truncates the file.
> E.g. Apache, Samba, etc.
>
> Does this problem affect sendfile() users?

AFAICS it does.

And I agree, that splice should handle truncation better. But as I
said, this affects every single filesystem out there. And yes, my
original patch wouldn't solve this (although it wouldn't make it
harder to solve either).

However the page invalidation issue is completely orthogonal, and only
affects a few filesystems which call invalidate_complete_page2(),
namely: 9p, afs, fuse and nfs.

Miklos


\
 
 \ /
  Last update: 2008-06-25 20:39    [W:0.478 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site