From: Hans Reiser <reiser@namesys.com>
To: Peter van Hardenberg <pvh@uvic.ca>
Cc: reiserfs-list@namesys.com
Subject: Re: Plugins: Pseudo-fun.
Date: Wed, 09 Nov 2005 10:02:11 -0800 [thread overview]
Message-ID: <437239A3.30509@namesys.com> (raw)
In-Reply-To: <200511090320.33063.pvh@uvic.ca>
Peter van Hardenberg wrote:
>Project update:
>-------------------
>Well, we have wallpapered one of the labs here at UVic with Reiser4 code,
>printing page after page and taping them together, hanging them on the walls
>and highlighting them. This was the first time in years that I missed having
>a dot-matrix tractor-feed printer around.
>
>Tracing the execution down through the various chains of plugin methods into
>the plugin set and then into pseudo.c. Pseudo.c is a much better example file
>than dirc or file.c, the comments are superior and there are many small
>examples of plugins. Here we had our insights and our inspiration:
>
>Although the overall goal remains elusive, we think we should be able to
>implement a new Reiser4 pseudo directory in 4dot (/..../). This directory,
>called "user" will contain per-file user-defined attributes.
>
Why would these go into the pseudo directory instead of into the directory?
>These will be
>(if I am using the terminology correctly) grandparent-locality-packed and
>will be, by convention, very small. (Perhaps the user attributes should be
>somewhere else? ...attributes vs ...system? I know this is one of those
>ongoing debates.)
>
>Playing nice with xattr:
>----------------------------
>It is my opinion that xattr support could be added to provide an alternate
>interface to the same mechanism, thus applications expecting xattr would be
>able to both read and operate on reiser file-style attributes, a major win
>for interoperability. Gotta read more.
>
>Big Question of the Day:
>--------------------------
>One big question that follows from today's discoveries and plans: What would
>be the best method to store these small attribute files? I see no need to
>reinvent the wheel -- this is a directory -- but how/where do we store the
>data? Suggestions welcome.
>
>Odd Behavior:
>------------------
>
>Regression problems immediately spring to mind:
>pvh@arroyo:~/reiser/test $ cd ....
>pvh@arroyo:~/reiser/test/.... $ cd ....
>pvh@arroyo:~/reiser/test/..../.... $ cd ....
>pvh@arroyo:~/reiser/test/..../..../.... $ cd ....
>pvh@arroyo:~/reiser/test/..../..../..../.... $ cd ....
>pvh@arroyo:~/reiser/test/..../..../..../..../.... $ cd ....
>pvh@arroyo:~/reiser/test/..../..../..../..../..../.... $ cd ....
>pvh@arroyo:~/reiser/test/..../..../..../..../..../..../.... $ cd ..
>pvh@arroyo:~/reiser/test/..../..../..../..../..../.... $ cd ..
>pvh@arroyo:~/reiser/test/..../..../..../..../.... $ cd ..
>pvh@arroyo:~/reiser/test/..../..../..../.... $ cd ..
>pvh@arroyo:~/reiser/test/..../..../.... $ cd ..
>pvh@arroyo:~/reiser/test/..../.... $ cd ..
>pvh@arroyo:~/reiser/test/.... $
>Sure, it's right (.... is of type pseudo directory), but I wouldn't want my
>directory tree traversal to ever end up in the bottomless pit of 4dot-doom by
>mistake.
>
You don't want to have directory traversals use "...." at all.....
>
>
>Crashing and glitching:
>pvh@arroyo:~/reiser/ $ cd A2.mp3/...<tab>
>freezes the console. I think regular files, when pseudo data is enabled, need
>to provide some basic directory functionality so that users don't
>accidentally blow things up.
>
>
Why exactly does it freeze things?
>pvh@arroyo:~/reiser/A2.mp3/ $ ls
>ls: reading directory .: Not a directory
>
>How would you recommend we implement this so that these errors go away?
>
>Neat stuff:
>
>pvh@arroyo:~/reiser/test/.... $ ls ..
>A2.mp3 boo test
>pvh@arroyo:~/reiser/test/.... $ perl
>open(N, '>>', 'new'); print(N "newfile"); close(N);
>pvh@arroyo:~/reiser/test/.... $ ls ..
>A2.mp3 boo newfile test
>pvh@arroyo:~/reiser/test/.... $
>
>But what's it for? I was hoping to be able to actually create new attributes
>on a normal file with this, but no dice. It only works for directories.
>
>That's probably more than enough for one night, but we had a real marathon
>session today and have another planned for tomorrow starting in the early
>afternoon.
>
>Hope people are finding these interesting,
>-pvh
>
>
>
I hate to say it, but you are the ones most actively working on this
now, and I encourage you to fix the little bugs you find as you go, and
tell us about them. Let me know about everything that affects
semantics/functionality before fixing it though....
Hans
next prev parent reply other threads:[~2005-11-09 18:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-09 11:20 Plugins: Pseudo-fun Peter van Hardenberg
2005-11-09 18:02 ` Hans Reiser [this message]
2005-11-09 19:05 ` Peter van Hardenberg
2005-11-09 19:31 ` Hans Reiser
2005-11-09 20:38 ` michael chang
2005-11-10 7:02 ` Peter van Hardenberg
2005-11-10 12:17 ` Peter Foldiak
2005-11-10 12:23 ` Peter Foldiak
2005-11-10 12:26 ` PFC
2005-11-10 12:36 ` Peter Foldiak
2005-11-10 21:20 ` Peter van Hardenberg
2005-11-10 17:16 ` Hans Reiser
2005-11-10 20:13 ` Peter Foldiak
2005-11-10 20:32 ` Hans Reiser
2005-11-09 19:36 ` about reiser4 hacks Yoanis Gil Delgado
2005-11-10 0:51 ` Plugins: Pseudo-fun Alexander G. M. Smith
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=437239A3.30509@namesys.com \
--to=reiser@namesys.com \
--cc=pvh@uvic.ca \
--cc=reiserfs-list@namesys.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.