linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean-Marc Saffroy <saffroy@ri.silicomp.fr>
To: torvalds@transmeta.com, viro@math.psu.edu, linux-kernel@vger.kernel.org
Cc: Eric Paire <paire@ri.silicomp.fr>,
	Jean-Marc Saffroy <saffroy@ri.silicomp.fr>
Subject: [BUG] Inconsistent behaviour of rmdir
Date: Thu, 16 Nov 2000 14:47:35 +0100 (CET)	[thread overview]
Message-ID: <Pine.LNX.4.21.0011161400290.24271-100000@sisley.ri.silicomp.fr> (raw)

Hello,


It looks like the rmdir syscall behaves strangely in 2.4 kernels :

saffroy@sisley:~> uname -a
Linux sisley 2.2.14-5.0smp #1 SMP Tue Mar 7 21:01:40 EST 2000 i686 unknown
saffroy@sisley:/tmp> mkdir foo
saffroy@sisley:/tmp> rmdir foo/.
saffroy@sisley:/tmp> mkdir foo
saffroy@sisley:/tmp> cd foo/
saffroy@sisley:/tmp/foo> rmdir .
saffroy@sisley:/tmp/foo> cd ..
saffroy@sisley:/tmp> 

[root@picasso /tmp]# uname -a
Linux picasso 2.4.0-test10 #1 SMP Thu Nov 9 14:30:23 GMT+2 2000 i586 unknown
[root@picasso /tmp]# mkdir foo
[root@picasso /tmp]# rmdir foo/.
rmdir: foo/.: Device or resource busy
[root@picasso /tmp]# rmdir foo/ 
[root@picasso /tmp]# mkdir foo
[root@picasso /tmp]# cd foo
[root@picasso foo]# rmdir .
rmdir: .: Device or resource busy
[root@picasso foo]# rmdir ../foo/
[root@picasso foo]#

As you see, it looks like the rmdir fails simply because the dir name ends
with a dot !! This is confirmed by sys_rmdir in fs/namei.c, around line
1384 :

        switch(nd.last_type) {
                case LAST_DOTDOT:
                        error = -ENOTEMPTY;
                        goto exit1;
                case LAST_ROOT: case LAST_DOT:
                        error = -EBUSY;
                        goto exit1;
        }

Should we rip off the offending "case LAST_DOT" ? Or do we need a smarter
patch ? Is it really a problem that a process has its current directory
deleted ? How about the root ?

The man page for rmdir(2) should be updated as well, the current one
states :
       EBUSY  pathname is the current working directory  or  root
              directory of some process.

Maybe rmdir should return EBUSY only when trying to remove a mount point ?


Regards,

-- 
Jean-Marc Saffroy - Research Engineer - Silicomp Research Institute
mailto:jms@migrantprogrammer.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

             reply	other threads:[~2000-11-16 14:18 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-16 13:47 Jean-Marc Saffroy [this message]
2000-11-16 15:49 ` [BUG] Inconsistent behaviour of rmdir Linus Torvalds
2000-11-16 17:49   ` Alexander Viro
2000-11-16 18:14   ` Jean-Marc Saffroy
2000-11-16 18:28     ` Alexander Viro
2000-11-16 18:51       ` Jean-Marc Saffroy
2000-11-16 18:59         ` Alexander Viro
2000-11-16 21:17       ` David Feuer
2000-11-16 22:35         ` H. Peter Anvin
2000-11-16 23:10           ` Alexander Viro
2000-11-16 23:43           ` David Feuer
2000-11-17  0:04             ` Alexander Viro
2000-11-18  1:30               ` Nix
2000-11-18  1:58                 ` Alexander Viro
2000-11-17 17:56 ` Guest section DW
2000-11-17 20:27   ` Alexander Viro
2000-11-20  8:32     ` Eric Paire
2000-11-20  9:39       ` Guest section DW
2000-11-16 16:07 Jesse Pollard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.21.0011161400290.24271-100000@sisley.ri.silicomp.fr \
    --to=saffroy@ri.silicomp.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paire@ri.silicomp.fr \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).