All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Hafting <helge.hafting@aitel.hist.no>
To: Marc Perkel <mperkel@yahoo.com>
Cc: Craig Ruff <cruff@ucar.edu>, Kyle Moffett <mrmacman_g4@mac.com>,
	Michael Tharp <gxti@partiallystapled.com>,
	alan <alan@clueserver.org>,
	LKML Kernel <linux-kernel@vger.kernel.org>,
	Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Subject: Re: Thinking outside the box on file systems
Date: Thu, 16 Aug 2007 13:27:05 +0200	[thread overview]
Message-ID: <46C43489.2060109@aitel.hist.no> (raw)
In-Reply-To: <614991.75774.qm@web52507.mail.re2.yahoo.com>

Marc Perkel wrote:
>
> I am describing a kind of functionality and not tied
> to the method that implements that functionality.
> Perhaps a straight hash of the name isn't the best way
> to implement it. Just because someone tried to do
> something like what I'm suggesting years ago and it
> didn't work doesn't mean that it can't be done. You
> just have to come up with a better method.
>   
Actually, you are the one who have to
come up with a better method. :-)
You implement it, you deploy on your server,
you work out the quirks,
you win the discussion and impress everybody.
> Lets take this example. We are moving a million files
> from one branch if a tree to another. Do we wait for a
> million renames and hashes to occur? Of course not. So
> what to we do? We continue to be innovative.
>
> One must first adopt the attitude that anything can be
> done - you just have to be persistent until you figure
> out how.
>   
Feel free to be persistent and do the work & testing
needed.  People have done so before, which is why
there are so many linux filesystems to choose from.

What you can't do though, is to start with an attitude
that "anything can be done" and then expect to change
the direction of kernel work before everything is
figured out.  Experimental stuff stays in your private
tree till it is proven - for a reason.
> In this case we could have a name translation layer so
> if you want to do a move you change the translation
> layer indicating that a move occurred. Thus access to
> the new files get translated into the old name and
> accessed until the files are rehashed.
>   
That name translation layer has a nasty failure mode.
Let's say I want to move all files in /usr/local/* into /usr/old-local/
The name translation layer makes the transition seem
instant, even though there are now 10 million files queued
for renaming. References to /usr/local now goes to
/usr/old-local/ thanks to translation.

Now the problem.  I did the move in order to fill
/usr/local/ with new improved files. But all references
to /usr/local now goes to /usr/old-local/, so the new
files go there as well.

A translation layer _can_ work around this, by noting
that /usr/local is currently being translated, the
move queue has not finished processing, so further accesses
to /usr/local goes to /usr/local-tmp/ instead, to be moved
into /usr/local when that other batch of moves finishes.

In doing this, you set yourself up for lots of complexity
and lots of behind-the-scenes work. People will
wonder why the server is so busy when nobody is
doing much, and what if there is a power crash
or disk error on a busy server. It'd be an "interesting"
fsck job on a machine that went down while
processing several such deferred moves and translations. :-/
> My point - you start with what you want to do and then
> you figure out how to make it happen. I can't answer
> all the details of how to make it happen but when I do
> something I start with the idea that if this were done
> right it would work this way and then I figure out
> how.
>   
Sure - you don't have to prove that it will work now.
Working it out over time and then showing us is ok.

Helge Hafting

  reply	other threads:[~2007-08-16 11:30 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-14 22:45 Thinking outside the box on file systems Marc Perkel
2007-08-14 22:51 ` alan
2007-08-15 13:02   ` Michael Tharp
2007-08-15 13:30     ` Lennart Sorensen
2007-08-15 13:53       ` Kyle Moffett
2007-08-15 15:14         ` Michael Tharp
2007-08-15 16:36           ` Marc Perkel
2007-08-15 17:17             ` Kyle Moffett
2007-08-15 17:30               ` Marc Perkel
2007-08-15 18:22                 ` Craig Ruff
2007-08-15 20:35                   ` Marc Perkel
2007-08-16 11:27                     ` Helge Hafting [this message]
2007-08-15 16:02         ` Marc Perkel
2007-08-15 16:57           ` Valdis.Kletnieks
2007-08-15 17:09             ` Marc Perkel
2007-08-15 17:22               ` Kyle Moffett
2007-08-15 17:34                 ` Marc Perkel
2007-08-18 23:27                   ` Alan
2007-08-18 23:26                 ` Alan
2007-08-19  2:03                   ` david
2007-08-19  2:57                     ` Al Viro
2007-09-01 23:20                       ` Oleg Verych
2007-08-15 19:20               ` Lennart Sorensen
2007-08-16 23:12               ` H. Peter Anvin
2007-08-15 16:58           ` Kyle Moffett
2007-08-15 17:19             ` Marc Perkel
2007-08-15 17:37               ` Kyle Moffett
2007-08-15 17:59                 ` Marc Perkel
2007-08-15 19:26                   ` Lennart Sorensen
2007-08-15 20:11                     ` Kyle Moffett
2007-08-15 20:44                       ` Marc Perkel
2007-08-15 21:04                         ` Lennart Sorensen
2007-08-16 11:42               ` Helge Hafting
2007-08-16 12:09                 ` linux-os (Dick Johnson)
2007-08-15 17:34         ` Phillip Susi
2007-08-15 17:53           ` Kyle Moffett
2007-08-15 18:05             ` Marc Perkel
2007-08-15 18:14               ` Kyle Moffett
2007-08-15 20:20                 ` Marc Perkel
2007-08-15 20:43                   ` Phillip Susi
2007-08-15 20:50                     ` Marc Perkel
2007-08-15 21:20                       ` Valdis.Kletnieks
2007-08-15 22:48                         ` Marc Perkel
2007-08-16  3:42                           ` Valdis.Kletnieks
2007-08-15 20:38             ` Phillip Susi
2007-08-15 21:17               ` Kyle Moffett
2007-08-15 22:14                 ` Phillip Susi
2007-08-16  4:44                   ` Kyle Moffett
2007-08-16 15:09                     ` Phillip Susi
2007-08-16 15:29                       ` Valdis.Kletnieks
2007-08-16 17:28                         ` Phillip Susi
2007-08-16 17:31                           ` Valdis.Kletnieks
2007-08-16 22:03                             ` Phillip Susi
2007-08-16 23:17                       ` Kyle Moffett
2007-08-17  4:24                         ` Marc Perkel
2007-08-17  4:52                           ` Valdis.Kletnieks
2007-08-17 15:19                         ` Phillip Susi
2007-08-17 15:39                           ` Valdis.Kletnieks
2007-08-17 19:01                             ` Phillip Susi
2007-08-18  5:48                               ` Kyle Moffett
2007-08-18 16:45                                 ` Marc Perkel
2007-08-18 18:19                                   ` Al Viro
2007-08-19  4:07                                     ` Marc Perkel
2007-08-20  7:05                                       ` Nix
2007-08-20  7:47                                         ` Brennan Ashton
2007-08-20 11:18                                           ` Marc Perkel
2007-08-20 13:32                                             ` linux-os (Dick Johnson)
2007-08-20 15:25                                             ` Lennart Sorensen
2007-08-20 15:26                                             ` Helge Hafting
2007-08-20 19:52                                               ` Nix
2007-08-20 16:21                                             ` [OT] " Randy Dunlap
2007-08-20 16:20                                               ` Xavier Bestel
2007-08-20 14:29                                       ` Phillip Susi
2007-08-20 15:13                                       ` Lennart Sorensen
2007-08-20 14:24                                 ` Phillip Susi
2007-08-15 22:40                 ` Marc Perkel
2007-08-15 17:54           ` Marc Perkel
2007-08-15 17:02   ` Marc Perkel
2007-08-15 17:30     ` Michael Tharp
2007-08-15 17:51       ` Marc Perkel
2007-08-15 20:02 ` Yakov Lerner
  -- strict thread matches above, loose matches on Subject: below --
2007-08-15  7:49 Tim Tassonis
2007-08-15 18:23 Brian Wheeler
2007-08-20 11:54 Tim Tassonis

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=46C43489.2060109@aitel.hist.no \
    --to=helge.hafting@aitel.hist.no \
    --cc=alan@clueserver.org \
    --cc=cruff@ucar.edu \
    --cc=gxti@partiallystapled.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lsorense@csclub.uwaterloo.ca \
    --cc=mperkel@yahoo.com \
    --cc=mrmacman_g4@mac.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.