svn commit: r256132 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Xin LI delphij at FreeBSD.org
Tue Oct 8 01:38:25 UTC 2013


Author: delphij
Date: Tue Oct  8 01:38:24 2013
New Revision: 256132
URL: http://svnweb.freebsd.org/changeset/base/256132

Log:
  Improve lzjb decompress performance by reorganizing the code
  to tighten the copy loop.
  
  Submitted by:	Denis Ahrens <denis h3q com>
  MFC after:	2 weeks
  Approved by:	re (gjb)

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c	Mon Oct  7 22:30:03 2013	(r256131)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c	Tue Oct  8 01:38:24 2013	(r256132)
@@ -117,7 +117,9 @@ lzjb_decompress(void *s_start, void *d_s
 			src += 2;
 			if ((cpy = dst - offset) < (uchar_t *)d_start)
 				return (-1);
-			while (--mlen >= 0 && dst < d_end)
+			if (mlen > (d_end - dst))
+				mlen = d_end - dst;
+			while (--mlen >= 0)
 				*dst++ = *cpy++;
 		} else {
 			*dst++ = *src++;


More information about the svn-src-head mailing list