Coda File System

Re: Files Bigger Than Cache Size

From: <coda_at_bobich.net>
Date: Wed, 30 Jan 2008 14:38:16 +0000 (GMT)
>>> So, what happens when I need to use, say, a 4.5GB DVD ISO? How is this
>>> condition handled?
>>
>> It is not.
>>
>> 1. Coda does not handle files over 2G in size.
>> 2. A Coda client reads the whole file into the cache at open() so unless
>> you have a _really_ fast network you do not usually want to wait as long.
>
> Actually, using the Windows implementation of Coda you can store those 4.5GB
> IOS with no problem.   The windows kernel includes a 'big file' implementation that
> allows you to copy your big files to the coda server using a "mkcodabf" command.
> It creates a directory tree of smaller files to be fetched by the client that will fit into
> cache.   There are command line options to mkcodabf to allow you to select the
> size in number of MB for the "file chunks".    Once the big file is written to the servers
> as a tree of file chunks, a special meta-data file is written to the top directory of the
> tree.   Once the meta-data file is written, the kernel then tells userland that that
> directory is just a big file.   Venus still sees the tree of files and just thinks that it
> is fetching just small files.    The application treats it as a single file.   The kernel
> implements a read-only file.    Finally, since we assumed these large files are
> more likely to be media files, when a "file chunk" is accessed, the kernel asks
> venus to pre-fetch the next "file chunk" so that the next chunk is in the cache
> by the time the application wants that chunk.  Random access is also supported, but
> the application may be blocked on a read() while waiting for venus to fetch the
> "file chunk" that is needed to satisfy the read.

Great! :-)
What about the Linux implementation? Can the Linux client and server 
handle it? Or is 2GB the limit?

Gordan
Received on 2008-01-30 09:39:33