[lkml]   [2001]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: O_DIRECT wierd behavior..
On Mon, Dec 17, 2001 at 11:59:56AM -0800, Linus Torvalds wrote:
> On Mon, 17 Dec 2001, Joel Becker wrote:
> > /* Smart program handles partial writes */
> > write(100k); = 50k
> > write(remaining 50k); = -1/ENOSPC|EIO|etc
> We do this, if the error is "hard". And "fatal" implies hardness, so we're
> ok here.

Right. "hard" is also synonymous with "non-transient".

> > /* Dumb program doesn't handle partial write */
> > write(100k); = 50k
> > close(fd); = -1/EIO
> But we're not doing this.

IMHO we should be, and not just to comply with the letter of
SUS/Unix98. SUS specifies this behavior because a synchronous write()
can return after copying data to the buffer cache. However, the EIO can
happen later when the buffer cache is trying to flush to disk. The only
way for an application to see this error is to either run O_SYNC or
receive it upon close().



"Every day I get up and look through the Forbes list of the richest
people in America. If I'm not there, I go to work."
- Robert Orben
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:14    [W:0.063 / U:8.908 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site