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

Xin LI delphij at FreeBSD.org
Mon Oct 13 20:39:51 UTC 2014


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.


More information about the svn-src-all mailing list