From: Alexander Zarochentsev <zam@namesys.com>
To: Hans Reiser <reiser@namesys.com>
Cc: Peter van Hardenberg <pvh@uvic.ca>, reiserfs-list@namesys.com
Subject: Re: Plugin structure documentation request
Date: Wed, 14 Dec 2005 14:06:36 +0300 [thread overview]
Message-ID: <200512141406.36624.zam@namesys.com> (raw)
In-Reply-To: <439FE15A.4070507@namesys.com>
On Wednesday 14 December 2005 12:09, Hans Reiser wrote:
> Peter van Hardenberg wrote:
> >It would be quite excellent if we could have even a one sentence
> > description of all the plugin structures. This structure includes many
> > operations not found in conventional VFS, and many of the calls are not
> > described in any documentation I have found.
> >
> >I must confess I am feeling some frustration at the complete lack of
> >documentation of the project. I have very few complaints about the quality
> > of the code, but despite having spent four months working through file
> > after file I still regularly stumble across areas we have not had an
> > excuse to delve into and have no idea how they work in a general sense or
> > what they do. This kind of documentation does not take particularly long
> > to generate but would save new users of the code many, MANY long hours
> > spent poring over code and tracking function calls through the enormous
> > structure.
> >
> >I know you have heard it from the kernel mailing list before, but now you
> > are hearing it from someone uninvolved in that process. A trivial script
> > reports 93866 lines of code in the reiser4 directory. That's a lot of
> > code to navigate without a map.
> >
> >Having got that off my chest, here is one example of a plugin struct that
> >could use documentation. There are several other examples -- notably the
> >pseudo.c structure which is relatively uncomplicated and the directory
> > plugin which is about as complicated as this example "file" plugin.
> >
> > [PSEUDO_FILE_PLUGIN_ID] = {
> > .h = {
> > .type_id = REISER4_FILE_PLUGIN_TYPE,
> > .id = PSEUDO_FILE_PLUGIN_ID,
> > .pops = &file_plugin_ops,
> > .label = "pseudo",
> > .desc = "pseudo file",
> > .linkage = TYPE_SAFE_LIST_LINK_ZERO
> > },
> > .open = open_pseudo,
> > .truncate = eperm,
> > .write_sd_by_inode = eperm,
> > .readpage = eperm,
> > .capturepage = NULL,
> > .capture = NULL,
> > .read = read_pseudo,
> > .write = write_pseudo,
> > .release = release_pseudo,
> > .ioctl = eperm,
> > .mmap = eperm,
> > .sync = sync_common,
> > .get_block = eperm,
> > .flow_by_inode = NULL,
> > .key_by_inode = NULL,
> > .set_plug_in_inode = set_plug_in_inode_common,
> > .adjust_to_parent = NULL,
> > .create = NULL,
> > .delete = eperm,
> > .add_link = NULL,
> > .rem_link = NULL,
> > .owns_item = NULL,
> > .can_add_link = cannot,
> > .can_rem_link = cannot,
> > .setattr = inode_setattr,
> > .getattr = getattr_common,
> > .seek = seek_pseudo,
> > .detach = detach_common,
> > .bind = bind_common,
> > .safelink = NULL,
> > .estimate = {
> > .create = NULL,
> > .update = NULL,
> > .unlink = NULL
> > },
> > .wire = {
> > .write = wire_write_pseudo,
> > .read = wire_read_pseudo,
> > .get = wire_get_pseudo,
> > .size = wire_size_pseudo,
> > .done = wire_done_pseudo
> > },
> > .init_inode_data = NULL,
> > .pre_delete = NULL,
> > .cut_tree_worker = cut_tree_worker_common,
> > .destroy_inode = NULL,
> > },
> >
> >Thanks,
> >-pvh
>
> Zam, vs is releasing a patch today, so can you document this for us?
> Thanks.
>
> Hans
fs/reiser4/plugin/plugin.h:file_plugin structure has comments.
--
Alex.
prev parent reply other threads:[~2005-12-14 11:06 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-14 8:33 Plugin structure documentation request Peter van Hardenberg
2005-12-14 9:09 ` Hans Reiser
2005-12-14 11:06 ` Alexander Zarochentsev [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=200512141406.36624.zam@namesys.com \
--to=zam@namesys.com \
--cc=pvh@uvic.ca \
--cc=reiser@namesys.com \
--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.