Commit [29dbcd] Maximize Restore History

FS patch by Juan Perez-Sanchez:

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.

Jody Bruchon Jody Bruchon 2013-03-18

changed elks/fs/minix/file.c
changed elks/fs/block_dev.c
changed elks/fs/pipe.c
elks/fs/minix/file.c Diff Switch to side-by-side view
elks/fs/block_dev.c Diff Switch to side-by-side view
elks/fs/pipe.c Diff Switch to side-by-side view