(Illustration by Gaich Muramatsu)
On Wednesday 30 January 2008 4:08:20 am u+codalist-p4pg_at_chalmers.se wrote: > > 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. --Phil p.s. I've ripped several DVD movie collections into Coda and been able to watch them using standard media players. -- Phil Nelson (phil at cs.wwu.edu) http://www.cs.wwu.edu/nelson NetBSD: http://www.NetBSD.org Coda: http://www.coda.cs.cmu.eduReceived on 2008-01-30 09:33:42