public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Alexander Viro <viro@math.psu.edu>
Cc: linux-kernel@vger.kernel.org
Subject: Re: `rmdir .` doesn't work in 2.4
Date: Mon, 8 Jan 2001 21:28:33 +0100	[thread overview]
Message-ID: <20010108212833.S27646@athlon.random> (raw)
In-Reply-To: <20010108180857.A26776@athlon.random> <Pine.GSO.4.21.0101081236440.4061-100000@weyl.math.psu.edu>
In-Reply-To: <Pine.GSO.4.21.0101081236440.4061-100000@weyl.math.psu.edu>; from viro@math.psu.edu on Mon, Jan 08, 2001 at 12:58:20PM -0500

On Mon, Jan 08, 2001 at 12:58:20PM -0500, Alexander Viro wrote:
> It's a hell of a pain wrt locking. You need to lock the parent, but it can

This is a no-brainer and bad implementation, but shows it's obviously right
wrt locking. (pseudocode, I ignored the uaccess details and all the other not
relevant things)

	sys_rmdir(path)
	{
		char buf[PAGE_SIZE]

		err = sys_getcwd(buf, PAGE_SIZE)
		if (err)
			goto out
		
		if (!memcmp(path, ".", 2))
			path = buf
		err = 2_4_0_sys_rmdir(path)

	out:
		return err
	}

Optimizing things just a little more as _worse_ the overhead of supporting
`rmdir .` can be reduced to a memcmp(name, ".") plus and out of line jump and I
don't see a performance problem with that.

Could you enlight me on where's the locking pain?

Andrea
-
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:[~2001-01-08 20:28 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-08 17:08 `rmdir .` doesn't work in 2.4 Andrea Arcangeli
2001-01-08 17:31 ` Mohammad A. Haque
2001-01-08 17:55   ` Andrea Arcangeli
2001-01-08 18:04     ` Alexander Viro
2001-01-08 20:30       ` Andrea Arcangeli
2001-01-08 21:08         ` Alexander Viro
2001-01-08 21:56           ` Andrea Arcangeli
2001-01-08 23:28             ` Linus Torvalds
2001-01-09  8:09               ` Stefan Traby
2001-01-09 10:48                 ` Eric Lammerts
2001-01-09  9:31           ` Albert D. Cahalan
2001-01-09 15:00             ` Alexander Viro
2001-01-09 20:59               ` Albert D. Cahalan
2001-01-09 21:42                 ` Alexander Viro
2001-01-08 23:27         ` Linus Torvalds
2001-01-09  0:01           ` Andrea Arcangeli
2001-01-09 13:50             ` Stephen C. Tweedie
2001-01-08 17:58 ` Alexander Viro
2001-01-08 20:28   ` Andrea Arcangeli [this message]
2001-01-09 13:52     ` Stephen C. Tweedie
2001-01-08 21:54   ` Stefan Traby
2001-01-08 22:11     ` Benson Chow
2001-01-08 22:37       ` Andrea Arcangeli
2001-01-09  1:37       ` Wakko Warner
2001-01-09  1:55         ` Andrea Arcangeli
2001-01-09  4:56           ` Marc Lehmann
2001-01-11 18:57       ` Bernhard Rosenkraenzer
2001-01-09 13:39     ` Alexander Viro
2001-01-12 18:27   ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2001-01-08 20:56 Andries.Brouwer
2001-01-08 21:34 ` Andrea Arcangeli
2001-01-10 22:25   ` Matthias Andree
2001-01-08 22:50 Andries.Brouwer
2001-01-08 23:22 ` Andrea Arcangeli
2001-01-09 17:02 ` Kurt Roeckx
2001-01-09 12:18 Andries.Brouwer
2001-01-09 13:41 Jesse Pollard
2001-01-09 14:06 ` Andrea Arcangeli
2001-01-10 14:47   ` Stephen C. Tweedie
2001-01-10 15:03     ` Andrea Arcangeli
2001-01-10 17:28       ` Alexander Viro
2001-01-10 17:38         ` Andrea Arcangeli
2001-01-09 14:23 ` Alexander Viro
2001-01-09 14:38 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=20010108212833.S27646@athlon.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --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