All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter van Hardenberg <pvh@uvic.ca>
To: reiserfs-list@namesys.com
Subject: More from the Weekday Warriors
Date: Wed, 09 Nov 2005 23:47:32 -0800	[thread overview]
Message-ID: <200511092347.32743.pvh@uvic.ca> (raw)

Project News:
-----------------
Alright, today was another good solid eight hour day of Reiser hacking. We 
finally have most of a grip on the specifics of how the pseudo-plugins work, 
how they interface with the filesystem, and so on.

Our plan has further matured: the filedir (pronounced rather like folder) 
plugin will be a regular file-type plugin, and will simply inherit most of 
its methods from file.

As the file-contents will already be monopolizing the i-node, a filedir will 
also have a pointer to a second directory inode which will contain the 
filedir's contents. All directory-related lookups will be routed through to 
that.

The rough implementation plan is as follows:

1) Attempt a trivial change to Reiser and ensure it loads. (Done.)
2) Clone an existing plugin. (In progress.)
3) Replace existing plugin's methods with pass-through methods.
4) Associate a directory (with requisite plugin) with the filedir.

Plugin Project Statistics:
------------------------------
pages of code printed: >200
hours spent reading Reiser4 code: 25
lines of code modified and compiled: 1

Where should attributes live:
------------------------------------
Hans, I like the idea that files should be (for those who want it) treatable 
indistinguishably from directories. The contained-by would get very tedious 
with deep nesting, as that is already how the / translates for me.

I propose this:

files /are/ a normal directory (for resources) and /have/ an invisible 
subdirectory (for attributes) (perhaps "fivedot"?).

The use of a seperate ontological entity for attributes is defensible: first, 
without it, the user attributes are visible in a way system attributes are 
not. More significantly, by separating the two they can be packed differently 
and the attributes could have special properties. Without too much thought 
about the consequences, I'd probably want indexing, two-way compatibility 
with xattr, compression, and perhaps something like size/format restrictions. 
I can think of about a half-dozen other attribute-specific features and 
optimizations I'd want in a perfect world, but I'll leave it at that for now.

Question for the Day:
---------------------------
What files need modification to add a new plugin which does not require inode 
extensions?

How can I set the plugins governing a file from userspace? Can it be done from 
within fourdot? My experiments were unsuccessful.

What would a "hello world" plugin look like? It would be valuable to have one 
lying around for future developers. We have discussed creating one, but I 
feel as though "plugging" and "unplugging" plugins requires a huge amount of 
work right now and that would reduce its utility. Perhaps it would make sense 
if it were distributed as a patch with a plugin developer's guide.

-pvh

-- 
Peter van Hardenberg (pvh@pvh.ca)
Victoria, BC, Canada

             reply	other threads:[~2005-11-10  7:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-10  7:47 Peter van Hardenberg [this message]
2005-11-11  2:37 ` More from the Weekday Warriors Hubert Chan
2005-11-11 17:23 ` Lares Moreau

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=200511092347.32743.pvh@uvic.ca \
    --to=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.