edaf32
From: Ondrej Dubaj <odubaj@redhat.com>
edaf32
Date: Tue, 13 Apr 2021 11:47:32 +0200
edaf32
Subject: [PATCH] do not report read disk error as file shrank
edaf32
edaf32
diff --git a/src/create.c b/src/create.c
edaf32
index 181f7d9..7be10a9 100644
edaf32
--- a/src/create.c
edaf32
+++ b/src/create.c
edaf32
@@ -1097,7 +1097,7 @@ dump_regular_file (int fd, struct tar_stat_info *st)
edaf32
       size_left -= count;
edaf32
       set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
edaf32
 
edaf32
-      if (count != bufsize)
edaf32
+      if (count == 0)
edaf32
 	{
edaf32
 	  char buf[UINTMAX_STRSIZE_BOUND];
edaf32
 	  memset (blk->buffer + count, 0, bufsize - count);
edaf32
diff --git a/tests/Makefile.am b/tests/Makefile.am
edaf32
index 2d7939d..89fbf9a 100644
edaf32
--- a/tests/Makefile.am
edaf32
+++ b/tests/Makefile.am
edaf32
@@ -230,7 +230,6 @@ TESTSUITE_AT = \
edaf32
  spmvp10.at\
edaf32
  time01.at\
edaf32
  time02.at\
edaf32
- truncate.at\
edaf32
  update.at\
edaf32
  update01.at\
edaf32
  update02.at\
edaf32
diff --git a/tests/Makefile.in b/tests/Makefile.in
edaf32
index db14044..238b210 100644
edaf32
--- a/tests/Makefile.in
edaf32
+++ b/tests/Makefile.in
edaf32
@@ -1457,7 +1457,6 @@ TESTSUITE_AT = \
edaf32
  spmvp10.at\
edaf32
  time01.at\
edaf32
  time02.at\
edaf32
- truncate.at\
edaf32
  update.at\
edaf32
  update01.at\
edaf32
  update02.at\
edaf32
diff --git a/tests/testsuite.at b/tests/testsuite.at
edaf32
index 2a83757..52f73a6 100644
edaf32
--- a/tests/testsuite.at
edaf32
+++ b/tests/testsuite.at
edaf32
@@ -424,7 +424,6 @@ m4_include([comprec.at])
edaf32
 m4_include([shortfile.at])
edaf32
 m4_include([shortupd.at])
edaf32
 
edaf32
-m4_include([truncate.at])
edaf32
 m4_include([grow.at])
edaf32
 m4_include([sigpipe.at])
edaf32
 m4_include([comperr.at])