On Sat, Jan 06, 2007 at 03:57:30PM -0800, Michael Kerrisk wrote:
> Hello Justin,
> 
> > Linux 2.6.5 fs/open.c source indicates that close() can return essentially 
> > any
> > file error:
> > 
> > |int filp_close(struct file *filp, fl_owner_t id)
> > |   /* Report and clear outstanding errors */
> > |asmlinkage long sys_close(unsigned int fd)
> > |           return filp_close(filp, files);
> > 
> > manpages already alludes to this ("It is quite possible that errors on
> > a previous write(2) operation are first reported at the final
> > close()."); included is a patch making it explicit.
> 
> I don't see this code in fs/open.c in 2.6.19.  Can you clarify please.
2.6.18 has comparable sys_close and filp_close, but the new filp_close does an
fflush() on the file.  fflush(3) indicates that this is where all the previous
write() errors are picked up.  The error-reference text used for the following
should be consistent:

 close
 fts
 exec
 fflush
 fopen
 hash
 recno
 dbopen
 fclose
 fseek
 mpool
 rpmatch

Yesterday I couldn't find the exact phrase.

Justin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to