Hi, Attached is a patch with: Modification of file read and write operations in fs/block_dev.c, fs/minix/file.c and fs/pipe.c to have a closer implementation. Also, fixed some minor problems in file.c (e.g. minix_file_read checks *inode to be nonzero after actually dereferencing it). The purpose of a closer implementation of these functions is to see what are the important differences and provide insight on how to write a unique generic implementation (as in mainstream linux). The modified functions do the same things than the originals, only the pointers and counters book keeping was greatly simplified. These were tested copying a lot of files running elks under qemu, checking the integrity of the copied files and running fsck for the modified filesystem under linux. As result of the modifications the code size was reduced in 352 bytes. The Image builded without errors. The kernel was tested with QEMU and dioscuri emulators. Also in a PPro pc booting from floppy. Greetings, Juan
Attachment:
elksV.patch
Description: Binary data