Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Simple file system

0 views
Skip to first unread message

Jarod Russel

unread,
May 10, 2002, 6:07:19 PM5/10/02
to
Hello,

I'm trying to write a simple file system for linux. In fact it will be a
regular file organized in blocks, with inodes...
The system allows only read/write operations, not execution. But i've
many problems to understand how to do that. I've got a Tanenbaum book
with minix code but it's too complex and i don't understand very well.
So if someone has a site adress where i could find some info about the
basics (which tables i need for example)...

Thanks.


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Kasper Dupont

unread,
May 11, 2002, 9:23:09 AM5/11/02
to
Jarod Russel wrote:
>
> Hello,
>
> I'm trying to write a simple file system for linux. In fact it will be a
> regular file organized in blocks, with inodes...
> The system allows only read/write operations, not execution. But i've
> many problems to understand how to do that. I've got a Tanenbaum book
> with minix code but it's too complex and i don't understand very well.
> So if someone has a site adress where i could find some info about the
> basics (which tables i need for example)...

Rather than reading the minix source code you should probably
read the Linux driver for the minix filesystem.

There are two completely different things you need to learn:
1) How to interface with the OS you are writing your driver
for.
2) Which datastructures you need.

The easiest way to learn the first of the two is by studying
how existing filesystems are implemented under Linux.

The second is completely independend of the OS. There are
basically three things you need to store:
1) Tables of free blocks.
2) Tables of blocks used for files.
3) Directory structures.
This is actually the area where the major differences
between filesystems are.

I have some time ago written a temporary filesystem that
uses a swap partition as backing storage, but never writes
metadata to disk. You might find parts of this usefull:
http://www.daimi.au.dk/~kasperd/linux_kernel/swapfs.c


FUT: comp.os.linux.development.system

--
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:razor-...@daimi.au.dk

0 new messages