mirror of https://github.com/vitalif/e2fsprogs
127e2291bf
There is a bug in Unix I/O manager where if an aligned I/O is required, it does not correctly do the read-modify-write cycle correctly. Specifically, it was not doing an lseek between the read and the write calls, so the update was going to block N+1 instead of block N. Oops. Fortunately in practice we almost never use this fallback path, so file systems weren't getting horribly corrupted, because (a) we almost never use Direct I/O in e2fsprogs, at least not by default, and (b) when we do the buffers end up being aligned anyway, so it's OK. We only noticed this because the new Undo I/O manager in e2fsprogs 1.43 was doing unaligned I/O and FreeBSD requires that I/O requests be aligned even if you are not doing Direct I/O, and the e2undo regression tests were all failing as a result. Signed-off-by: Theodore Ts'o <tytso@mit.edu> |
||
---|---|---|
.. | ||
blkid | ||
e2p | ||
et | ||
ext2fs | ||
quota | ||
ss | ||
uuid | ||
Makefile.bsd-lib | ||
Makefile.checker | ||
Makefile.darwin-lib | ||
Makefile.elf-lib | ||
Makefile.library | ||
Makefile.profile | ||
Makefile.solaris-lib | ||
config.h.in | ||
dirpaths.h.in | ||
fpopen.c |