Re: Filesystem question

2003-11-02 Thread Official Flamer/Cabal NON-Leader
Quoth sdmj kjh:

 I need to develop a (network-)distributed file system, for Linux. How
 do I go about doing that?

Yerk, you're climbing a high mountain.

 I know I need to write:
 1. kernel code (preferably as a module) to register as a VFS provider
 (is wording accurate?)
 2. user-space daemons (much like NFS) to handle
 all that which doesn't have to take place inside the kernel.

You need to decide whether you're NAS or SAN (i.e. file or block
access). You need to decide locking semantics. You need to decide
caching semantics. Once you do that, you can start pushing code.
Also - you could do it entirely in userspace...

 I also know that there's a raw-device-over-network (see NBD) approach
 and a file-system-over-network (see samba) approach. Which do you
 believe is better suited for a general purpose distributed file
 system?

General purpose in what sense? There are too many general purposes.

M

-- 
---OFCNL
This is MY list. This list belongs to ME! I will flame anyone I want.
Official Flamer/Cabal NON-Leader  [EMAIL PROTECTED]

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Filesystem question

2003-11-02 Thread sdmj kjh

I was hoping for some pointers about writing filesystems under Linux (preferably under 
2.6).

General purpose, as in all-round good performance. small/big files, heterogenous 
network, etc. I want both:
dd if=/mnt/myFS/mybigfile of=/myext2/b bs=10M count=200
and
cd /mnt/myFS/src/linux  make bzImage
and
find /mnt/myFS -name * -print  /dev/null
 
to not suffer too much from being run on a distributed filesystem.
 

Official Flamer/Cabal NON-Leader [EMAIL PROTECTED] wrote:

Quoth sdmj kjh:

 I need to develop a (network-)distributed file system, for Linux. How
 do I go about doing that?

Yerk, you're climbing a high mountain.

 I know I need to write:
 1. kernel code (preferably as a module) to register as a VFS provider
 (is wording accurate?)
 2. user-space daemons (much like NFS) to handle
 all that which doesn't have to take place inside the kernel.

You need to decide whether you're NAS or SAN (i.e. file or block
access). You need to decide locking semantics. You need to decide
caching semantics. Once you do that, you can start pushing code.
Also - you could do it entirely in userspace...

 I also know that there's a raw-device-over-network (see NBD) approach
 and a file-system-over-network (see samba) approach. Which do you
 believe is better suited for a general purpose distributed file
 system?

General purpose in what sense? There are too many general purposes.

 


-
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Filesystem question

2003-11-02 Thread Official Flamer/Cabal NON-Leader
Quoth sdmj kjh:

 
 I was hoping for some pointers about writing filesystems under Linux
 (preferably under 2.6).

I suggest you read what filesystem design books you can find. Filesystem
design, in general, is not a science - it is an art.

If you're working on a distributed filesystem in earnest, read the Paxos
paper. It is about a somewhat weird subject - concensus - but is needed
for distrib work.

There are VERY many books on that.

 General purpose, as in all-round good performance. small/big files,
 heterogenous network, etc. I want both:
 dd if=/mnt/myFS/mybigfile of=/myext2/b bs=10M count=200
 and
 cd /mnt/myFS/src/linux  make bzImage
 and
 find /mnt/myFS -name * -print  /dev/null
 to not suffer too much from being run on a distributed filesystem.

Well, this, already, is a VERY tall order. Lese:

Case 1 is a hefty read.
Case 2 is a a mixed read/write.
Case 3 is a stat.

These are so very different that you will have your work cut out for
you.

-- 
---OFCNL
This is MY list. This list belongs to ME! I will flame anyone I want.
Official Flamer/Cabal NON-Leader  [EMAIL PROTECTED]

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]