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++;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to