Skip site navigation (1)Skip section navigation (2)
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>