All of lore.kernel.org
 help / color / mirror / Atom feed
From: viro@parcelfarce.linux.theplanet.co.uk
To: Hans Reiser <reiser@namesys.com>
Cc: Paul Jakma <paul@clubi.ie>, "Theodore Ts'o" <tytso@mit.edu>,
	Robin Rosenberg <robin.rosenberg.lists@dewire.com>,
	William Stearns <wstearns@pobox.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: silent semantic changes in reiser4 (brief attempt to document the idea ofwhat reiser4 wants to do with metafiles and why
Date: Fri, 10 Sep 2004 09:18:27 +0100	[thread overview]
Message-ID: <20040910081827.GM23987@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <41415BCF.9090405@namesys.com>

On Fri, Sep 10, 2004 at 12:46:23AM -0700, Hans Reiser wrote:
> >file-directory duality, and persons who want to link to the directory
> >aspect must use symlinks (best short term answer), or 2) ask Alexander
> >Smith to help us with applying his cycle detection algorithm and gain
> >the benefit of being able to hard link to directories (if it works well,
> >best long term answer).
> ></quote>
> >
> >... which doesn't address the problem at all.  The question is what to do
> >with seeing directory "aspect..." in more than one place when we have many
> >links to file in question. 
> >
> You don't allow people to see the directory aspect in more than one 
> place.....

And which place would that be?  Concrete example: we have 4 links to the
same inode in /bin - /bin/gzip, /bin/gunzip, /bin/zcat and /bin/uncompress.
What should happen upon attempts to look at the metadata of /bin/gzip and
/bin/gunzip simultaneously from completely unrelated processes?  Where
can these guys be found and in case if you say "whoever looks first wins,
another guy gets -EBUSY or some other error" keep in mind that user-triggerable
DoS tend to make sysadmins quite unhappy.
 
> >So much for (1).  And (2) is not feasible with
> >on-disk fs both due to memory, CPU and IO costs _and_ due to exclusion from
> >hell you'll need to make it safe.
> > 
> >
> Your statement regarding 2) is unsupported by technical argument and I 
> think wrong as well.

Uhh...  Hans, think for a second - any algorithm would have to be able to
tell if adding an edge to graph would create a loop.  Consider the following
graph: take two full binary trees of depth N, order their leaves, revert the
edges in one of them and for each leaf of the first tree add an edge leading
to corresponding leaf of the second one.  (IOW, for N=2 you'll get 14 nodes
with the following edges: A->A0, A->A1, A0->A00, A0->A01, A1->A10, A1->A11,
A00->B00, A01->B01, A10->B10, A11->B11, B00->B0, B01->B0, B10->B1, B11->B1,
B0->B, B1->B).  Now, give that tree to your algorithm and start asking if
adding an edge between given two nodes would add a loop.  You'll get
exponential time complexity.  Moreover, the number of nodes you would have
to examine is also exponential.

Note that guy specifically mentioned that his filesystem had been in-core
one.  With disk-based fs you'll either have to keep the entire graph
in-core *or* you will have to walk the damn thing pulling it from disk.

And you need an exclusion against graph modifications while you are looking
through it.  Have fun...

> >Re: ambiguity - lots and lots of handwaving on both sides.  FWIW, I agree
> >with Hans in one (and only one) respect here - openat() as a primary API
> >(and not a convenient libc function) is an atrocity.  Simply because it
> >doesn't address operations beyond open (unlinkat(2), anyone?).
> >
> >However, I still haven't seen any strong arguments for need of this "metas"
> >stuff _or_ the need to export mode/ownership as files, both for regular
> >files and for directories.  Aside of "we can do that" [if we solve the
> >locking issues] and "xattrs are atrocious" [yes, they are; it doesn't make
> >alternative mechanism any better] there was nothing that even pretended to
> >be a technical reason.
> > 
> >
> Closure is very technical as a reason. It seems to be above your head 
> though. I can say more about it, but not before bed....

The word "closure" has more than enough meanings, so I am afraid that
unless you care to specify what exactly you are talking about it will
remain above my head - I am not a telepath.

  reply	other threads:[~2004-09-10  8:18 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-29 20:21 silent semantic changes in reiser4 (brief attempt to document the idea of what reiser4 wants to do with metafiles and why Hans Reiser
2004-08-31  0:05 ` Alexander G. M. Smith
2004-08-31  6:43   ` Hans Reiser
2004-09-01  3:13     ` Alexander G. M. Smith
2004-09-01  3:55       ` David Masover
2004-09-01  8:07       ` Hans Reiser
2004-09-01 17:19         ` Dr. Giovanni A. Orlando
2004-08-31 13:12 ` Pavel Machek
2004-08-31 13:36   ` Christian Mayrhuber
2004-09-02 11:59     ` Mikaël Cluseau
2004-09-02 13:32       ` mjt
2004-09-07 20:16   ` Hans Reiser
2004-09-07 20:59     ` Pavel Machek
2004-09-08  9:14       ` Romano Giannetti
2004-09-07 21:05     ` William Stearns
2004-09-07 22:09       ` Robin Rosenberg
2004-09-09  9:03         ` silent semantic changes in reiser4 (brief attempt to document the idea ofwhat " Theodore Ts'o
2004-09-09 17:23           ` William Lee Irwin III
2004-09-09 18:09           ` Gunnar Ritter
2004-09-09 19:15           ` Hans Reiser
2004-09-09 20:45             ` Paul Jakma
2004-09-10  0:57               ` Hans Reiser
2004-09-10  1:15                 ` Paul Jakma
2004-09-10  5:04                   ` Hans Reiser
2004-09-10  5:53                     ` viro
2004-09-10  6:52                       ` Hans Reiser
2004-09-10  7:05                         ` viro
2004-09-10  7:30                           ` Hans Reiser
2004-09-10 16:49                             ` Lee Revell
2004-09-10 17:23                               ` viro
2004-09-10  7:21                       ` Hans Reiser
2004-09-10  7:33                         ` viro
2004-09-10  7:46                           ` Hans Reiser
2004-09-10  8:18                             ` viro [this message]
2004-09-10  9:20                     ` Alan Cox
2004-09-10 17:48                       ` Hans Reiser
2004-09-10 17:07                         ` Alan Cox
2004-09-10 13:08                     ` Horst von Brand
2004-09-10  3:22                 ` Horst von Brand
2004-09-12 20:43             ` Davide Inglima
2004-09-10  9:42           ` Helge Hafting
2004-09-10 17:42             ` Horst von Brand
     [not found]             ` <20040910201738.GB8698@eskimo.com>
2004-09-14  8:39               ` Helge Hafting
2004-08-31 14:09 ` silent semantic changes in reiser4 (brief attempt to document the idea of what " Mike Waychison
2004-08-31 18:35   ` Hubert Chan
2004-08-31 17:55 ` V13
2004-08-31 18:17   ` Spam
2004-08-31 18:17     ` Spam
2004-08-31 19:08     ` Tonnerre
2004-08-31 19:38       ` Spam
2004-08-31 19:38         ` Spam
2004-09-01  3:11         ` Robin Rosenberg
2004-09-01  3:11           ` Robin Rosenberg
2004-09-01 13:18           ` Giuseppe Bilotta
2004-08-31 19:35     ` V13
2004-08-31 20:22       ` Hubert Chan
2004-08-31 20:31         ` Spam
2004-08-31 21:58           ` Hubert Chan
2004-08-31 22:15             ` Spam
2004-08-31 22:46               ` Hubert Chan
2004-08-31 18:51   ` Hubert Chan
2004-08-31 19:49   ` Chris Dawes
2004-09-01  6:03   ` Hans Reiser

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=20040910081827.GM23987@parcelfarce.linux.theplanet.co.uk \
    --to=viro@parcelfarce.linux.theplanet.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul@clubi.ie \
    --cc=reiser@namesys.com \
    --cc=robin.rosenberg.lists@dewire.com \
    --cc=tytso@mit.edu \
    --cc=wstearns@pobox.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.