unlink.2: Improve EBUSY description

The current version of the page says (under ERRORS):

> EBUSY (not on Linux)
>  The  file pathname cannot be unlinked because it is being
>  used by the system or another process and the
>  implementation considers this an error.

But if you look in the kernel source file fs/namei.c
at routine may_delete() you'll see two occasions where
an EBUSY is generated. So the above "not on Linux" is wrong.

I suggest that this '(not on Linux)' be removed. It may
also improve the page if the commentary is reworded to give a
better description of the two situations. Something along
the lines of:
> The file pathname cannot be unlinked because it is being used
> by the system, e.g. if some (relative) rootdir is mounted upon it,
> or because the NFS client software created it to represent an
> active but otherwise nameless inode ("NFS silly renamed").

Just FYI: the NFS silly rename (you'll find this term mentioned
in the kernel source code) is described at:
       http://nfs.sourceforge.net/#section_d
under section D2. The reason I found this manpage bug is because
I stumbled upon one of these silly renamed files, and an strace
of the rm-command revealed the EBUSY return errno.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Hendrik Jan Thomassen 2011-09-15 05:17:38 +02:00 committed by Michael Kerrisk
parent 31483837fc
commit 3d5be2aa85
1 changed files with 6 additions and 3 deletions

View File

@ -29,7 +29,7 @@
.\" Modified 2001-05-17 by aeb
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.TH UNLINK 2 2004-06-23 "Linux" "Linux Programmer's Manual"
.TH UNLINK 2 2011-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
unlink \- delete a name and possibly the file it refers to
.SH SYNOPSIS
@ -69,11 +69,14 @@ did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
.BR EBUSY " (not on Linux)"
.BR EBUSY
The file
.I pathname
cannot be unlinked because it is being used by the system
or another process and the implementation considers this an error.
or another process;
for example, it is a mount point
or the NFS client software created it to represent an
active but otherwise nameless inode ("NFS silly renamed").
.TP
.B EFAULT
.I pathname