Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jan 2015 20:08:50 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r277426 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/ztest
Message-ID:  <201501202008.t0KK8oal001464@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Tue Jan 20 20:08:50 2015
New Revision: 277426
URL: https://svnweb.freebsd.org/changeset/base/277426

Log:
  5408 managing ZFS cache devices requires lots of RAM
  Reviewed by: Christopher Siden <christopher.siden@delphix.com>
  Reviewed by: George Wilson <george.wilson@delphix.com>
  Reviewed by: Matthew Ahrens <mahrens@delphix.com>
  Reviewed by: Don Brady <dev.fs.zfs@gmail.com>
  Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
  Approved by: Garrett D'Amore <garrett@damore.org>
  Author: Chris Williamson <Chris.Williamson@delphix.com>
  
  illumos/illumos-gate@89c86e32293a30cdd7af530c38b2073fee01411c

Modified:
  vendor/illumos/dist/cmd/ztest/ztest.c

Changes in other areas also in this revision:
Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h

Modified: vendor/illumos/dist/cmd/ztest/ztest.c
==============================================================================
--- vendor/illumos/dist/cmd/ztest/ztest.c	Tue Jan 20 20:04:51 2015	(r277425)
+++ vendor/illumos/dist/cmd/ztest/ztest.c	Tue Jan 20 20:08:50 2015	(r277426)
@@ -3905,7 +3905,7 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *z
 		 * assign an arcbuf to a dbuf.
 		 */
 		for (j = 0; j < s; j++) {
-			if (i != 5) {
+			if (i != 5 || chunksize < (SPA_MINBLOCKSIZE * 2)) {
 				bigbuf_arcbufs[j] =
 				    dmu_request_arcbuf(bonus_db, chunksize);
 			} else {
@@ -3929,7 +3929,8 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *z
 			umem_free(packbuf, packsize);
 			umem_free(bigbuf, bigsize);
 			for (j = 0; j < s; j++) {
-				if (i != 5) {
+				if (i != 5 ||
+				    chunksize < (SPA_MINBLOCKSIZE * 2)) {
 					dmu_return_arcbuf(bigbuf_arcbufs[j]);
 				} else {
 					dmu_return_arcbuf(
@@ -3973,7 +3974,7 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *z
 		}
 		for (off = bigoff, j = 0; j < s; j++, off += chunksize) {
 			dmu_buf_t *dbt;
-			if (i != 5) {
+			if (i != 5 || chunksize < (SPA_MINBLOCKSIZE * 2)) {
 				bcopy((caddr_t)bigbuf + (off - bigoff),
 				    bigbuf_arcbufs[j]->b_data, chunksize);
 			} else {
@@ -3990,7 +3991,7 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *z
 				VERIFY(dmu_buf_hold(os, bigobj, off,
 				    FTAG, &dbt, DMU_READ_NO_PREFETCH) == 0);
 			}
-			if (i != 5) {
+			if (i != 5 || chunksize < (SPA_MINBLOCKSIZE * 2)) {
 				dmu_assign_arcbuf(bonus_db, off,
 				    bigbuf_arcbufs[j], tx);
 			} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501202008.t0KK8oal001464>