Add msgs to show whether there is eio in fsck process, when write and fsync methods fail. Signed-off-by: zhanchengbin <zhanchengbin1@xxxxxxxxxx> --- lib/ext2fs/unix_io.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 3171c736..d0ab3689 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -1265,12 +1265,17 @@ static errcode_t unix_write_byte(io_channel channel, unsigned long offset, return errno; actual = write(data->dev, buf, size); + if (actual < 0) - return errno; + retval = errno; if (actual != size) - return EXT2_ET_SHORT_WRITE; + retval = EXT2_ET_SHORT_WRITE; return 0; + + fprintf(stderr, "%s unix_write_byte error, error %d\n", + channel->name, errno); + return retval; } /* @@ -1289,8 +1294,11 @@ static errcode_t unix_flush(io_channel channel) retval = flush_cached_blocks(channel, data, 0); #endif #ifdef HAVE_FSYNC - if (!retval && fsync(data->dev) != 0) + if (!retval && fsync(data->dev) != 0) { + fprintf(stderr, "%s flush error, error %d\n", + channel->name, errno); return errno; + } #endif return retval; } -- 2.31.1