[AVFS] Caching content of extfs archives

Ralf Hoffmann <[email protected]> Thu, 09 Feb 2006 21:02:20 +0100
Newsgroups gmane.comp.file-systems.avfs.user
Message-ID <[email protected]>
Hi,

I experienced performance problems when accessing archives in extfs
archives. For every open, stat, etc. from the inner archive an open on
the base file in the outer archive is called. Open() in extfs starts the
corresponding script in the "copyout" mode so it will be extracted to a
temporary file again and again.
I implemented a cache for this files. An extfs_open() will use the
temporary file of an existing cache entry or create a new one. The
tmpfile is put into the cache so it will be removed again when the disk
space is needed for another entry.

At first I used a combination of the cache and the filecache but the
cache doesn't remove entries itself at the end of the program and the
filecache doesn't allow access to entries without a key.
So I implemented an own extfs cache which stores the entries up to a
size limit and kicks out elements which are older than a time limit. It
works fine so far but of course the latest entry will be in the cache up
to the end of the program (or avfs daemon).

I think this is acceptable especially because of the large speedup
using the cache but what's your opinion about this?

Best Regards,

Ralf Hoffmann

-- 
Homepage: http://www.boomerangsworld.de
E-Mail: Ralf Hoffmann <[email protected]>
  english or german






-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642