public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@arcor.de>
To: "Guillermo López Alejos" <glalejos@gmail.com>
Cc: Linux Kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: Documenting the VFS
Date: Thu, 18 Aug 2005 17:55:02 +1000	[thread overview]
Message-ID: <200508181755.04163.phillips@arcor.de> (raw)
In-Reply-To: <4fec73ca05081312054f1d1dd9@mail.gmail.com>

On Sunday 14 August 2005 05:05, Guillermo López Alejos wrote:
> Hi,
>
> I'm writing documentation about the VFS.

Best of luck.  It is a complex topic, but if you manage to produce an accurate 
reference, it will be widely read.

> More concretely, I want to 
> document the following information about the methods defined in the
> VFS interface (i.e. the struct *_operations):
>     - Prototype.
>     - Description (brief description of what the method has to do).
>     - Description of the parameters (explanation of the purpose of
> each parameter).
>     - Return value (including possible error values).
>     - Responsibility (what the method is expected to do, including
> specific cases).
>     - Default method (is there any method that can be used instead of
> defining a new one?)
>     - Mandatory (Is the method mandatory? or it can be assigned a NULL?)

Locking is a crucial topic.  Filesystem developers need to understand what 
locking the VFS does for them and what they must do themselves.  You need to 
cover this method by method and lock by lock.  Also note that you can't 
really understand the vfs separately from things like the page cache, inode 
cache and dentry cache, and respective operations.  It crosses over into 
virtual memory topics too, because of mmap.  A discussion of the vfs would 
not be complete without discussing the life cycles of all the objects 
involved.

> It is rather difficult to find this information by looking at the
> kernel sources, and the documentation I have found does not provide
> the details I'm looking for.

You pretty much have to read the source to learn this since there is no 
authoritative reference.  As others have mentioned, Richard Gootch's vfs.txt 
document is helpful.  It is several years out of date though, and doesn't 
cover things like aio, new security hooks, dnotify and inotify event 
interface, cluster hooks, etc. etc.

> Where can I found an up to date documentation about the VFS interface?

It's pretty sparse.

   http://lxr.linux.no/source/Documentation/filesystems/vfs.txt
   http://lxr.linux.no/source/Documentation/filesystems/Locking
   http://www.faqs.org/docs/kernel_2_4/lki-3.html
   http://www.oreilly.com/catalog/linuxkernel/
   http://lwn.net

> If there is no such document, which is the correct mailing list to
> submit my questions at?

This is the right place, or fsdevel, or both.  You probably want to post your 
drafts or pointers to your drafts here for corrections and additions.

> Is there any IRC channel to chat about this? 
> (I have visited a couple of times #kernelnewbies).

#kernelnewbies is good, the name is a little deceiving.  Also, try Matt 
Mackall's kernelmentors mailing list and Arnaldo Carvalho de Melo's kernel 
janitors mailing list.

> Thanks for your help and regards,

Thanks for volunteering!

Regards,

Daniel

  parent reply	other threads:[~2005-08-18  7:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-13 19:05 Documenting the VFS Guillermo López Alejos
2005-08-13 19:55 ` Stephane Wirtel
2005-08-18  7:55 ` Daniel Phillips [this message]
  -- strict thread matches above, loose matches on Subject: below --
2005-08-13 20:47 Steve French

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=200508181755.04163.phillips@arcor.de \
    --to=phillips@arcor.de \
    --cc=glalejos@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /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