Hi,<div><br></div><div> I have good news concerning the iso9660 file-system implementation project as part of the GSoC. My test workbench is now able to mount an iso9660 volume, to navigate throughout the directory structure and to perform basic file operations (open/read/close) on the volume. The source device for the mount operation can be either a block device (and the device access is thus handled by a libblock bdbuf layer) or a regular file on another file-system (device I/O is handled with standard posix call in this case).</div>
<div><br></div><div> Until the GSoC mid-term deadline (next week), I will concentrate my efforts on finishing the file management part (the FS still miss some calls like seek() ), cleaning up the code and add the missing doxygen documentation. </div>
<div><br></div><div> My further work will firstly be dedicated to the improvement of the cache for this file-system. Since it's a read-only FS I plan to implement a FIFO cache based on block access time : when a new block has to be put in the cache, the oldest (from an access time point of view) is uncached (the smallest entity in the ISO is called a sector and is 2,048 bytes long). This method should help often accessed blocks to stay in the cache while the less accessed will be discarded. However, I still need some comments on this point since I'm not a cache manager guru. :-)</div>
<div><br></div><div> Another point of the implementation on which I'd like some comments is the filename formatting. Currently the iso9660 implementation handles only the real ISO9660 standard-compliant volumes without extension, therefore filenames and directory names are limited to a tiny character set consisting of only capital letters, digits and underscore. If one mounts such an ISO volume under Linux, the names will be displayed and handled lowercase, while others OS leave them unchanged. I wonder how the RTEMS implementation should handle them : unchanged (uppercase), lowercase, case-insensitive, application-defined ?<br clear="all">
<br></div><div> For additional information you can refer to :</div><div> - The development blog I maintain during the project : <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://gsoc2011-rtems-iso9660.blogspot.com/">http://gsoc2011-rtems-iso9660.blogspot.com/</a> (updated every few days)</div>
<div> - The RTEMS wiki page about the project : <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://wiki.rtems.org/wiki/index.php/ISO9660_Filesystem">http://wiki.rtems.org/wiki/index.php/ISO9660_Filesystem</a> (not complete yet)</div>
<div> </div><div><br>Best regards, <br>Christophe Huriaux<br>
</div>