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.
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to