]> Zhao Yanbai Git Server - minix.git/commit
isofs: reworked for better performance 89/2989/2
authorJean-Baptiste Boric <jblbeurope@gmail.com>
Wed, 16 Sep 2015 12:36:11 +0000 (14:36 +0200)
committerLionel Sambuc <lionel.sambuc@gmail.com>
Wed, 7 Oct 2015 10:40:24 +0000 (12:40 +0200)
commitb1d068470b756b2fc3b5d1d566114bbd7409d15b
tree0caa74d981409077863ceafb3b43cf9eab088039
parent3472022b8bc03355d7d3c40541b929ab4122de1a
isofs: reworked for better performance

isofs now uses an in-memory directory listing built on-the-fly instead
of parsing the ISO 9660 data structures over and over for almost every
request. This yields huge performance improvements.

The directory listing is allocated dynamically, but Minix servers aren't
normally supposed to do that because critical servers would crash if the
system runs out of memory. isofs is quite frugal, won't allocate memory
after having the whole directory tree cached and is not that critical
(its most important job is to serve as a root file system during
installation).

The benefits and elegance of this scheme far outweights this small
problem in practice.

Change-Id: I13d070388c07d274cbee0645cbc50295c447c5b6
16 files changed:
etc/system.conf
minix/fs/isofs/const.h
minix/fs/isofs/inode.c
minix/fs/isofs/inode.h
minix/fs/isofs/link.c
minix/fs/isofs/mount.c
minix/fs/isofs/path.c
minix/fs/isofs/proto.h
minix/fs/isofs/read.c
minix/fs/isofs/stadir.c
minix/fs/isofs/super.c
minix/fs/isofs/susp.c
minix/fs/isofs/susp_rock_ridge.c
minix/fs/isofs/uthash.h [new file with mode: 0644]
minix/fs/isofs/utility.c
minix/tests/testisofs.sh