From: Jesse Pollard <pollard@tomcat.admin.navo.hpc.mil>
To: phillips@innominate.de,
"Michael D. Crawford" <crawford@goingware.com>,
Stephen Rothwell <sfr@linuxcare.com.au>,
linux-kernel@vger.kernel.org
Subject: Re: FS callback routines
Date: Tue, 9 Jan 2001 08:05:29 -0600 (CST) [thread overview]
Message-ID: <200101091405.IAA24807@tomcat.admin.navo.hpc.mil> (raw)
Daniel Phillips <phillips@innominate.de>:
> "Michael D. Crawford" wrote:
> >
> > Regarding notification when there's a change to the filesystem:
> >
> > This is one of the most significant things about the BeOS BFS filesystem, and
> > something I'd dearly love to see Linux adopt. It makes an app very efficient,
> > you just get notified when a directory changes and you never waste time polling.
> >
> > I think it would require changes to the VFS layer, not just to the filesystems,
> > because this is a concept POSIX filesystems do not presently possess.
> >
> > The other is indexed filesystem attributes, for example a file can have its
> > mimetype in the filesystem, and any application can add an attribute and have it
> > indexed.
> >
> > There's a method to do boolean queries on indexed attributes, and you can find
> > files in an entire filesystem that match a query in a blazingly short time, much
> > faster than walking the directory tree.
> >
> > If you want to try out the BeOS, there's a free-as-in-beer version at
> > http://free.be.com for Pentium PC's. You can also purchase a version that comes
> > for both PC's and certain PowerPC macs.
> >
> > There are read-only versions of this for Linux which I believe are under the
> > GPL. The original author is here:
> >
> > http://hp.vector.co.jp/authors/VA008030/bfs/
> >
> > He refers you to here to get a version that works under 2.2.16:
> >
> > http://milosch.net/beos/
> >
> > The author's intention was to take it read-write, but it's complex because it is
> > a journaling filesystem.
> >
> > Daniel Berlin, a BeOS developer modified the Linux BFS driver so it works with
> > 2.4.0-test1. I don't know if it works with 2.4.0. The web site where it used
> > to be posted isn't there anymore, and the laptop where I had it is in for
> > repair. I may have it on a backup, and I'll see if I can track Daniel down.
> >
> > While Be, Inc.'s implementation is closed-source, the design of the BFS (_not_
> > "befs" as it is sometimes called) is explained in Practical File System Design
> > with the Be File System by Dominic Giampolo, ISBN 1-55860-497-9. Dominic has
> > since left Be and I understand works at Google now.
>
> fs/dnotify.c:
>
> /*
> * Directory notifications for Linux.
> *
> * Copyright (C) 2000 Stephen Rothwell
> ...
>
> The currently defined events are:
>
> DN_ACCESS A file in the directory was accessed (read)
> DN_MODIFY A file in the directory was modified (write,truncate)
> DN_CREATE A file was created in the directory
> DN_DELETE A file was unlinked from directory
> DN_RENAME A file in the directory was renamed
> DN_ATTRIB A file in the directory had its attributes
> changed (chmod,chown)
>
> It was done last year, quietly and without fanfare, by Stephen Rothwell:
>
> http://www.linuxcare.com/about-us/os-dev/rothwell.epl
>
> This may be the most significant new feature in 2.4.0, as it allows us
> to take a fundamentally different approach to many different problems.
> Three that come to mind: mail (get your mail instantly without polling);
> make (don't rely on timestamps to know when rebuilding is needed, don't
> scan huge directory trees on each build); locate (reindex only those
> directories that have changed, keep index database current). As you
> noticed, there are many others.
>
> Stephen, it would be very interesting to know more about the development
> process you went through and what motivated you to provide this
> fundamental facility.
It would also be very nice if the security of the feature could be
confirmed. The problem with SGI's implementation is that it becomes
possible to monitor files that you don't own, don't have access to,
or are not permitted to know even exist. For these reasons, we have
disabled the feature.
-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil
Any opinions expressed are solely my own.
-
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/
next reply other threads:[~2001-01-09 14:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-09 14:05 Jesse Pollard [this message]
2001-01-09 15:41 ` FS callback routines Daniel Phillips
2001-01-10 10:48 ` Jamie Lokier
-- strict thread matches above, loose matches on Subject: below --
2001-01-11 16:39 Jesse Pollard
2001-01-11 17:53 ` Daniel Phillips
2001-01-10 15:18 Jesse Pollard
2001-01-09 1:21 Sean R. Bright
2001-01-09 11:22 ` Philipp Matthias Hahn
2001-01-09 11:34 ` Daniel Stodden
2001-01-08 23:12 Michael D. Crawford
2001-01-09 2:37 ` Sean R. Bright
2001-01-09 3:48 ` David Weinehall
2001-01-09 13:07 ` Daniel Phillips
2001-01-10 10:56 ` Jamie Lokier
2001-01-10 18:25 ` Daniel Phillips
2001-01-11 14:30 ` Daniel Phillips
2001-01-11 15:37 ` Jamie Lokier
2001-01-11 16:11 ` Daniel Phillips
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=200101091405.IAA24807@tomcat.admin.navo.hpc.mil \
--to=pollard@tomcat.admin.navo.hpc.mil \
--cc=crawford@goingware.com \
--cc=linux-kernel@vger.kernel.org \
--cc=phillips@innominate.de \
--cc=sfr@linuxcare.com.au \
/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