rmdir (2) doesn't remove <path> ending with /.

Matthew Dillon dillon at apollo.backplane.com
Sat Jul 30 09:30:22 PDT 2005

:On Sat, Jul 30, 2005 at 05:00:37PM +0300, Yury Tarasievich wrote:
:> On 30 July 2005 17:05, Joerg Sonnenberger wrote:
:> > On Sat, Jul 30, 2005 at 04:28:37PM +0300, Yury Tarasievich wrote:
:> > > Just noticed with yesterday's checkout and firefox build process. Retuns
:> > > "invalid argument". Throwing quick removal of trailing '/.' into calling
:> > > code helped but is it really meant to be so - is trailing dot qualified
:> > > as "content"?
:> >
:> > To quote SUSv3:
:> >      The  meaning of deleting pathname /dot is unclear, because the name
:> > of the file (directory) in the parent directory to be removed is not
:> > clear, particularly
:> >      in the presence of multiple links to a directory.
:> Then port of firefox ought to have patch of nsprpub/config/nsinstall.c 
:> included, removing trailing dots which're used there a lot like this: rmdir 
:> ("whatever/.")
:That's not the problem. There's some argument missing, which does exist
:in the pkgsrc version. If you want to use the override port, compare the
:DF patch list with my firefox patch for pkgsrc, you might find the
:missing bit there.
    Very weird.  Well, we certainly cannot support 'rmdir blah/.', that's
    about as illegal a use of rmdir as its possible to have.  One has to
    make a distinction between removing entries in a directory and removing
    the underlying inode.  Namespace operations such as rmdir operate
    on directory entries, and the '.' directory entry is for obvious 
    reasons not removable.

    In anycase, FreeBSD doesn't allow that sort of operation either, for
    the same reasons.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Bugs mailing list