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

Reply via email to