From: Perfect Stranger <gilmour@scs-net.org>
To: Linux FS developers <linux-fsdevel@vger.kernel.org>
Cc: "Jason J. Herne" <hernejj@clarkson.edu>
Subject: help in VFS
Date: Fri, 29 Apr 2005 19:47:12 +0300 [thread overview]
Message-ID: <42726510.7040602@scs-net.org> (raw)
Hi all:
I'm working on a parallel file system project (works on a cluster of
linux boxes).
I've written the low level details related to parallel access and data
scattering and gathering and so .. and now i have to implement the VFS
layer to integret my fs into the linux kernel
I've read about VFS and read some about BFS and ramfs but there is still
some unclearness
I know i miss understanding some points .. so i'll explain what is
going in my mind and i hope you'll correct me :).
My fs consist of three main parts:
Manager side: which holds the directory structures and data distribution
information
IO nodes: many nodes where the data are scattered
Client : where the VFS must be done to allow the client to access the
filesystem transperantly
i figured out that the data distribution information on the Manager must
be mapped to the inode object in the VFS
FILE and DENTRY objects must be created dynamicly on client side .. but
i couldn't figure out what must be mapped to form the super block object ?!!
i've read that i don't have to implement the whole operations for the
object .. i can put NULL for operation i don't want to implement and the
VFS default method is called for unimplemented methods .. so what are
the main methods i need to implement so that the basic operation are
avaliable such as: cp, mv, rm, mkdir, rmdir, ls, open, read, write, ..
the underlying functionality of those function are already done .. but i
don't know what are the things i have to implement from the VFS to carry
out those operations..
another thing .. while i can set the method i don't want to implement to
NULL .. do i have to initialize all the data members of the VFS objects
strucures "superblock, file, dentry, inode" .. or i can just ignore the
datamember i don't want to set ?? and won't this deed leeds to mess the
VFS internal job .. i mean if i decided not to use data member "X" from
the inode object for example ..what about if one of the default VFS
operation where using it .. so how can i know what to set and what to ignore
another point .. what is the difference between:
get_sb_bdev
get_sb_single
get_sb_nodev
i think that the first is used for device based file systems and the
last is used for non device based file system .. so what about the
second .. and in my case .. is my file system is device based or non
device based .. i don't need a partition on client side cause all the
data is being written on the whole cluster (client couldn't be a an I/O
node) .. but i need a way to to my file system so that all the request
to my file system are handled by my cluster file system not locally .. i
know that mount do this .. but if my file system needs no partition or
device to use it locally on client side what should i mount ?? and in
this case which get_sb call should i use
what are the differences between :
kill_block_super
kill_anon_super
kill_litter_super
.. i'm sorry for writting a news paper instead of a certain questions
but i've been thinking for a long time without a way to correct my
thoughts so that was the result :) sorry again and thanks in advance
MHD
reply other threads:[~2005-04-29 17:43 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=42726510.7040602@scs-net.org \
--to=gilmour@scs-net.org \
--cc=hernejj@clarkson.edu \
--cc=linux-fsdevel@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