Date: Sun, 11 Sep 2016 22:39:22 +0800 From: Kevin Lo <kevlo@FreeBSD.org> To: Matthias Andree <mandree@FreeBSD.org> Cc: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r421812 - in head/sysutils/e2fsprogs: . files Message-ID: <20160911143922.GA74275@ns.kevlo.org> In-Reply-To: <201609111026.u8BAQPYK026695@repo.freebsd.org> References: <201609111026.u8BAQPYK026695@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 11, 2016 at 10:26:25AM +0000, Matthias Andree wrote: > > 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) Hmm, TRYBROKEN=1 build seems doesn't work: ===> License GPLv2 accepted by the user Trying build of e2fsprogs-1.43.3_2 even though it is marked BROKEN. ===> Found saved configuration for e2fsprogs-1.43.3_2 ===> e2fsprogs-1.43.3_2 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by e2fsprogs-1.43.3_2 for building ===> Extracting for e2fsprogs-1.43.3_2 => SHA256 Checksum OK for e2fsprogs-1.43.3.tar.xz. ===> Patching for e2fsprogs-1.43.3_2 ===> Applying FreeBSD patches for e2fsprogs-1.43.3_2 mv: rename /usr/ports/sysutils/e2fsprogs/work/e2fsprogs-1.43.3/tests/u_mke2fs_opt_offset to /usr/ports/sysutils/e2fsprogs/work/e2fsprogs-1.43.3/tests/disabled_test-u_mke2fs_opt_offset/u_mke2fs_opt_offset: No such file or directory *** Error code 1 Stop. make[1]: stopped in /usr/ports/sysutils/e2fsprogs *** Error code 1 > 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?20160911143922.GA74275>