Re: [patch] fs: improved handling of page and buffer IO errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Miklos Szeredi wrote:
> On Tue, 21 Oct 2008, steve@xxxxxxxxxx wrote:
> > Well I'm not sure why we'd need to distinguish between "page has not
> > been read" and "page has been read but no longer valid". I guess I
> > don't understand why those two cases are not the same from the vfs
> > and filesystem points of view.
> 
> In the first case the page contains random bytes, in the second case
> it contains actual file data, which has become stale, but at some
> point in time it _was_ the contents of the file.
> 
> This is a very important distinction for splice(2) for example.
> Splice does not actually copy data into the pipe buffer, only
> references the pages.  And it can reference pages which are not yet
> up-to-date.  So when the buffers are consumed from the pipe, the
> splice code needs to know if the page contains random junk (never
> brought up-to-date) or data that is, or once was, valid.

So GFS goes to great lengths to ensure that read/write are coherent,
so are mmaps (writable or not), but _splice_ is not coherent in the
sense that it can send invalid but non-random data? :-)

Also, is there still a problem where the data is "valid" but part of
the page may have been zero'd by truncate, which is then transmitted
by splice?

-- Jamie
--
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

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux