Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Commit [ab2cd4] Maximize Restore History

e2fsck: don't flush the FS unless it's actually dirty

ext2fs_flush2() unconditionally writes the block group descriptors to
disk even if the underlying FS isn't marked dirty. This causes the
following error message on a fsck -n run:

e2fsck 1.43-WIP (09-Jul-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Error writing block 2 (Attempt to write block to filesystem resulted in short write). Ignore error? no

Error writing block 2 (Attempt to write block to filesystem resulted in short write). Ignore error? no

Error writing file system info: Attempt to write block to filesystem resulted in short write

Since ext2fs_close2() only calls flush if the dirty flag is set,
modify e2fsck to exhibit the same behavior so that we don't spit out
write errors for a read only check.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>

Darrick J. Wong Darrick J. Wong 2014-08-12

Theodore Ts'o Theodore Ts'o 2014-08-12

added tests/f_readonly_fsck
added tests/f_readonly_fsck/expect
added tests/f_readonly_fsck/image.gz
added tests/f_readonly_fsck/name
added tests/f_readonly_fsck/script
changed e2fsck
changed e2fsck/unix.c
changed tests
tests/f_readonly_fsck/expect Diff Switch to side-by-side view
Loading...
tests/f_readonly_fsck/image.gz Diff Switch to side-by-side view
Loading...
tests/f_readonly_fsck/name Diff Switch to side-by-side view
Loading...
tests/f_readonly_fsck/script Diff Switch to side-by-side view
Loading...
e2fsck
Directory.
e2fsck/unix.c Diff Switch to side-by-side view
Loading...
tests
Directory.