fix dd sparse test failure on xfs filesystem(#1085727,by P.Brady)

This commit is contained in:
Ondřej Vašík 2014-04-12 20:38:09 -07:00
parent 1240520fa1
commit 136250677d
2 changed files with 27 additions and 1 deletions

View File

@ -0,0 +1,20 @@
diff -urNp coreutils-8.22-orig/tests/dd/sparse.sh coreutils-8.22/tests/dd/sparse.sh
--- coreutils-8.22-orig/tests/dd/sparse.sh 2013-12-04 06:48:30.000000000 -0800
+++ coreutils-8.22/tests/dd/sparse.sh 2014-04-12 17:48:22.301975386 -0700
@@ -61,8 +61,15 @@ if test $(kb_alloc file.in) -gt 3000; th
dd if=file.in of=file.out bs=2M conv=sparse
test 2500 -lt $(kb_alloc file.out) || fail=1
+ # Note we recreate a sparse file first to avoid
+ # speculative preallocation seen in XFS, where a write() that
+ # extends a file can preallocate some extra space that
+ # a subsequent seek will not convert to a hole.
+ rm -f file.out
+ truncate --size=3M file.out
+
# Ensure that this 1MiB string of NULs *is* converted to a hole.
- dd if=file.in of=file.out bs=1M conv=sparse
+ dd if=file.in of=file.out bs=1M conv=sparse,notrunc
test $(kb_alloc file.out) -lt 2500 || fail=1
fi

View File

@ -1,7 +1,7 @@
Summary: A set of basic GNU tools commonly used in shell scripts Summary: A set of basic GNU tools commonly used in shell scripts
Name: coreutils Name: coreutils
Version: 8.22 Version: 8.22
Release: 13%{?dist} Release: 14%{?dist}
License: GPLv3+ License: GPLv3+
Group: System Environment/Base Group: System Environment/Base
Url: http://www.gnu.org/software/coreutils/ Url: http://www.gnu.org/software/coreutils/
@ -15,6 +15,7 @@ Source106: coreutils-colorls.csh
# From upstream # From upstream
Patch1: coreutils-8.22-cp-selinux.patch Patch1: coreutils-8.22-cp-selinux.patch
Patch2: coreutils-8.22-datetzcrash.patch Patch2: coreutils-8.22-datetzcrash.patch
Patch3: coreutils-8.22-dd-sparsetest-xfsspeculativeprealloc.patch
# Our patches # Our patches
#general patch to workaround koji build system issues #general patch to workaround koji build system issues
@ -126,6 +127,7 @@ the old GNU fileutils, sh-utils, and textutils packages.
# From upstream # From upstream
%patch1 -p1 -b .nullcontext %patch1 -p1 -b .nullcontext
%patch2 -p1 -b .tzcrash %patch2 -p1 -b .tzcrash
%patch3 -p1 -b .xfs
# Our patches # Our patches
%patch100 -p1 -b .configure %patch100 -p1 -b .configure
@ -372,6 +374,10 @@ fi
%{_sbindir}/chroot %{_sbindir}/chroot
%changelog %changelog
* Sat Apr 12 2014 Ondrej Vasik <ovasik@redhat.com> 8.22-14
- fix dd sparse test failure on xfs filesystem(#1085727,
by P.Brady)
* Wed Mar 05 2014 Ondrej Vasik <ovasik@redhat.com> 8.22-13 * Wed Mar 05 2014 Ondrej Vasik <ovasik@redhat.com> 8.22-13
- drop the util-linux requirements (smaller docker images), - drop the util-linux requirements (smaller docker images),
drop ancient obsoletes of -libs subpackage drop ancient obsoletes of -libs subpackage