All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stewart Smith <stewart@flamingspork.com>
To: Jonathan Briggs <jbriggs@esoft.com>
Cc: "Burnes, James" <james.burnes@gwl.com>,
	Reiserfs mail-list <Reiserfs-List@namesys.com>
Subject: Re: Longhorn FS being removed to Blackcomb (end of decade)
Date: Sat, 10 Apr 2004 16:33:27 +1000	[thread overview]
Message-ID: <1081578802.13650.30.camel@kennedy> (raw)
In-Reply-To: <1081539224.19257.55.camel@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 1652 bytes --]

On Sat, 2004-04-10 at 05:33, Jonathan Briggs wrote:
> I think the best way to be doing database features is with a fast,
> robust file change notification feature, and do the database in user
> space.  Some filesystem features would be required, but I think metadata
> and two-way hard links is all we need.

Symbolic links would quite possibly work better - as then you can
extract the path of the original file, and with the manipulation of
these symlinks being part of the file manipulation atom (as in, an
atomic operation), consistency wouldn't be a problem.

> The daemon could watch directory creation and look for query metadata on
> directories.  When found, it would use index directories or full
> filesystem search to fill in the query results.

You have a lot of consistency problems here. Consider this:
1. process 1 creates file
2. kernel tells userspace to index it
CRASH

the userspace daemon hasn't had time to put it into the index. On
reboot, how do you get a list of files to insert into the index without
scanning every single file on disk (essentially a fsck)? You can't - so
you're in trouble. You could have a to-be-indexed directory of hard/sym
links where as the userspace utility flushes the index of the item to
disk, it is removed from there. That could work... but it requires the
creat() (etc) operations to also create this link atomically, otherwise
you could create the file, but not have it in the "to be indexed" list.

It's for these kinds of reasons that all the befs indexing stuff is all
in kernel.

-- 
Stewart Smith (stewart@flamingspork.com)
http://www.flamingspork.com/


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

      reply	other threads:[~2004-04-10  6:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-09 17:32 Longhorn FS being removed to Blackcomb (end of decade) Burnes, James
2004-04-09 19:26 ` Hubert Chan
2004-04-09 19:33 ` Jonathan Briggs
2004-04-10  6:33   ` Stewart Smith [this message]

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=1081578802.13650.30.camel@kennedy \
    --to=stewart@flamingspork.com \
    --cc=Reiserfs-List@namesys.com \
    --cc=james.burnes@gwl.com \
    --cc=jbriggs@esoft.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.