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)
> |{
> |     int retval;
> |
> |     /* Report and clear outstanding errors */
> |     retval = filp->f_error;
> |     if (retval)
> |             filp->f_error = 0;
> |
> |[...]
> |     return retval;
> |}
> |
> |[...]
> |
> |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.

Cheers,

Michael

> --- - 2007-01-06 12:38:58.649694000 -0500
> +++ /tmp/close.2      2007-01-06 12:38:43.121398622 -0500
> @@ -31,8 +31,10 @@
>  .\" Modified Fri Jan 31 16:21:46 1997 by Eric S. Raymond <[EMAIL PROTECTED]>
>  .\" Modified 2000-07-22 by Nicol�s Lichtmaier <[EMAIL PROTECTED]>
>  .\"   added note about close(2) not guaranteeing that data is safe on close.
> +.\" Modified 2007-01-07 by Justin Pryzby <[EMAIL PROTECTED]>
> +.\"   Reference errno values from write() in ERRORS
>  .\"
> -.TH CLOSE 2 2001-12-13 "" "Linux Programmer's Manual"
> +.TH CLOSE 2 2007-01-06 "" "Linux Programmer's Manual"
>  .SH NAME
>  close \- close a file descriptor
>  .SH SYNOPSIS
> @@ -78,6 +80,12 @@
>  .TP
>  .B EIO
>  An I/O error occurred.
> +.LP
> +.BR close ()
> +can also fail and set
> +.I errno
> +to any error specified for
> +.BR write ().
>  .SH "CONFORMING TO"
>  SVr4, 4.3BSD, POSIX.1-2001.  
>  .\" SVr4 documents an additional ENOLINK error condition.
> 
> 

-- 
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7

Want to help with man page maintenance?  Grab the latest tarball at
http://www.kernel.org/pub/linux/docs/manpages/
read the HOWTOHELP file and grep the source files for 'FIXME'.



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

Reply via email to