[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New MiNT fcntl calls etc



I agree with many of the sentiments mentioned here about new fcntl calls.
FUTIME is simplicity itself to add to minixfs and an inode level truncate
function has been waiting for support for some time.

	Fsync() is also a good idea because (among other reasons) there are
two kinds of disk change. "Hard", by physically changing the disk, and
"Soft", by a request, via for example Dlock(). The "Soft" kind should Fsync()
the disk in question first before the change. This would avoid things like 
fsck reporting spurious errors because the cache never got written out (I've
written minixfs to avoid this kind of thing, but at a performance cost).

	Filesystems ought to have a way to specify no operations can be
performed on a given drive. For example, sometimes when a minix partition
is recognised it can't be accessed because e.g. MAX_INCREMENT was set too
low when minix.xfs was compiled. The best way to handle this is to inhibit
all operations on the drive but do the usual checks when it is changed. One
way would be to pass a 'null_fs' pointer to the filesystem at start up which
fs->root could then set as necessary. This could be done by adding lots of
little checks and a flag to minix.xfs but that is a bit messy.

	Non blocking disk I/O requests would be nice. Although low level this
isn't too hard to do. Floppies would be a bit more painful. This would make
multi-thread filesystems possible (there isn't much point with blocking I/O).
Having said that some of the other device drivers need an overhaul as well.

Steve.