Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2014 20:39:51 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r273060 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201410132039.s9DKdpmh055573@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Mon Oct 13 20:39:51 2014
New Revision: 273060
URL: https://svnweb.freebsd.org/changeset/base/273060

Log:
  Use write_psize instead of write_asize when doing vdev_space_update.
  Without this change the accounting of L2ARC usage would be wrong and
  give 16EB free space because the number became negative and overflows.
  
  Obtained from:	FreeNAS (issue #6239)
  MFC after:	2 weeks

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

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Mon Oct 13 19:05:18 2014	(r273059)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Mon Oct 13 20:39:51 2014	(r273060)
@@ -5232,7 +5232,7 @@ l2arc_write_buffers(spa_t *spa, l2arc_de
 	ARCSTAT_INCR(arcstat_l2_write_bytes, write_asize);
 	ARCSTAT_INCR(arcstat_l2_size, write_sz);
 	ARCSTAT_INCR(arcstat_l2_asize, write_asize);
-	vdev_space_update(dev->l2ad_vdev, write_asize, 0, 0);
+	vdev_space_update(dev->l2ad_vdev, write_psize, 0, 0);
 
 	/*
 	 * Bump device hand to the device start if it is approaching the end.



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