mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Horst H. von Brand" <vonbrand@inf.utfsm.cl>
To: "Joshua Hudson" <joshudson@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: what is necessary for directory hard links
Date: Tue, 25 Jul 2006 10:47:54 -0400	[thread overview]
Message-ID: <200607251447.k6PElsf1004520@laptop13.inf.utfsm.cl> (raw)
In-Reply-To: Message from "Joshua Hudson" <joshudson@gmail.com>  of "Mon, 24 Jul 2006 21:49:01 MST." <bda6d13a0607242149j4f1492ag47bd8e3e1f0607da@mail.gmail.com>

Joshua Hudson <joshudson@gmail.com> wrote:

[...]

> Maybe someday I'll work out a system by which much less is locked.
> Conceptually, all that is requred to lock for the algorithm
> to work is creating hard-links to directories and renaming directories
> cross-directory.

Some 40 years of filesystem development without finding a solution to that
conundrum would make that quite unlikely, but you are certainly welcome to
try.

> > (which it isn't)
> Counterexample? I should swear that any cycle created by rename must
> pass through the new parent into the victim and back to the new
> parent.

Right. The problem is that the fan-out can be humongous. In the worst case
(which you /have/ to handle right!) you need to look over /all/ the
directories in the filesystem. Meanwhile, you can't allow any operation
that changes the graph. Have you run fsck(8) lately? That should give you
an order-of-magnitude estimate for the time it could take...

Yes, in the "avergage case" it will be much, much less, but that is little
comfort for people who get bitten by "not so average" cases.

Remember that one of the things that made Linus unhappy with Minix was
exactly that the filesystem was single-threaded. Today's requirements for
Linux filesystem performance are /much/ higer than the ones of a lone hobby
user...
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513

  parent reply	other threads:[~2006-07-25 14:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6ARGK-19L-5@gated-at.bofh.it>
     [not found] ` <6B8og-1iB-17@gated-at.bofh.it>
2006-07-22 16:59   ` Bodo Eggert
2006-07-22 18:13     ` Joshua Hudson
2006-07-24  6:45       ` Nikita Danilov
2006-07-24  7:25         ` Valdis.Kletnieks
2006-07-24 16:21           ` Joshua Hudson
2006-07-24 17:55             ` Horst H. von Brand
2006-07-24 18:22             ` Valdis.Kletnieks
2006-07-25  4:49               ` Joshua Hudson
2006-07-25 12:43                 ` Valdis.Kletnieks
2006-07-25 14:47                 ` Horst H. von Brand [this message]
2006-07-23  2:19     ` Horst H. von Brand
2006-07-23 22:27       ` Vernon Mauery
2006-07-25 23:43       ` Peter Chubb
     [not found] <6CcT1-1lH-39@gated-at.bofh.it>
     [not found] ` <6Cwov-5xl-5@gated-at.bofh.it>
2006-07-25 21:28   ` Bodo Eggert
2006-07-26  1:00     ` Horst H. von Brand
2006-07-26  9:13       ` Bodo Eggert
2006-07-21  1:04 Joshua Hudson
2006-07-21 18:49 ` Horst H. von Brand
2006-07-21 20:28 ` Rob Sims
2006-07-21 21:57   ` Joshua Hudson
2006-07-24  6:42     ` Nikita Danilov

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=200607251447.k6PElsf1004520@laptop13.inf.utfsm.cl \
    --to=vonbrand@inf.utfsm.cl \
    --cc=joshudson@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /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

all inboxes | Powered by JetHome®