Date: Sun, 11 Sep 2016 10:26:25 +0000 (UTC) From: Matthias Andree <mandree@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r421812 - in head/sysutils/e2fsprogs: . files Message-ID: <201609111026.u8BAQPYK026695@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mandree Date: Sun Sep 11 10:26:24 2016 New Revision: 421812 URL: https://svnweb.freebsd.org/changeset/ports/421812 Log: Fix most of the FreeBSD 11+ issues, except e2undo. Pull in upstream Git patch for lib/ext2fs/unix_io.c to fix unaligned multi-block writes, and disable the two known failing e2undo patches ONLY for the exact 1.43.3_2, even if "ALLTESTS" is enabled. (Modify the post-patch:: target to avoid that.) The port is still marked BROKEN on FreeBSD 11+ to protect the innocent, but a TRYBROKEN=1 build that will not use e2undo should be fine now. Obtained from: Ted Y. Ts'o (upstream maintainer) Added: head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c (contents, props changed) Modified: head/sysutils/e2fsprogs/Makefile Modified: head/sysutils/e2fsprogs/Makefile ============================================================================== --- head/sysutils/e2fsprogs/Makefile Sun Sep 11 09:03:26 2016 (r421811) +++ head/sysutils/e2fsprogs/Makefile Sun Sep 11 10:26:24 2016 (r421812) @@ -3,7 +3,7 @@ PORTNAME= e2fsprogs PORTVERSION= 1.43.3 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES?= sysutils MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION} @@ -91,7 +91,7 @@ post-patch:: @${REINPLACE_CMD} -e 's/<malloc\.h>/<stdlib.h>/' ${WRKSRC}/*/*.c .if empty(PORT_OPTIONS:MALLTESTS) .for i in \ - d_fallocate_blkmap \ + d_fallocate_blkmap \ f_baddir \ f_bbfile \ f_convert_bmap \ @@ -136,10 +136,19 @@ post-patch:: .endfor .endif .endif +# XXX remove these on the next revision +.if ${MASTERDIR} == ${.CURDIR} && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1100000 && ${PORTVERSION} == 1.43.3 && ${PORTREVISION} == 2 +.for i in u_mke2fs_opt_oddsize u_mke2fs_opt_offset + @${MV} ${WRKSRC}/tests/${i} ${WRKSRC}/tests/disabled_test-${i} +.endfor +.endif +# Master port stuff that is not to be seen by the slave ports. .if ${MASTERDIR} == ${.CURDIR} +# NOTE: The previous .if block goes all the way to the end of the file. + .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1100000 -BROKEN=self-test failures on FreeBSD 11+ hint to data corruption issues. +BROKEN=Not ready for production on FreeBSD 11+, some e2undo cases are still failing. .endif pre-build: @@ -211,6 +220,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .endif +# # the next line closes .if ${MASTERDIR} == ${.CURDIR} .endif Added: head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c Sun Sep 11 10:26:24 2016 (r421812) @@ -0,0 +1,23 @@ +commit d6cad379eb6c86ca58bf5b83a586577de412a2e6 +Author: Theodore Ts'o <tytso@mit.edu> +Date: Sun Sep 11 00:25:48 2016 -0400 + + libext2fs: fix unaligned, multiblock writes in the unix_io handler + + The read-modify-write code for the unaligned fallback code wasn't + working for multi-block writes. This was unmasked by FreeBSD 11-rc2, + since its malloc() is returning unaligned memory regions for large + memory regions. + + Signed-off-by: Theodore Ts'o <tytso@mit.edu> + +--- lib/ext2fs/unix_io.c.orig 2016-09-02 04:17:32 UTC ++++ lib/ext2fs/unix_io.c +@@ -300,6 +300,7 @@ static errcode_t raw_write_blk(io_channe + goto short_write; + size -= actual; + buf += actual; ++ location += actual; + } + return 0; +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609111026.u8BAQPYK026695>