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