Serapheim Dimitropoulos 7558997d2f vs_alloc can underflow in L2ARC vdevs
The current L2 ARC device code consistently uses psize to
increment vs_alloc but varies between psize and lsize when
decrementing it. The result of this behavior is that
vs_alloc can be decremented more that it is incremented
and underflow. This patch changes the code so asize is
used anywhere.

In addition, it ensures that vs_alloc gets incremented by
the L2 ARC device code as buffers are written and not at
the end of the l2arc_write_buffers() routine. The latter
(and old) way would temporarily underflow vs_alloc as
buffers that were just written, would be destroyed while
l2arc_write_buffers() was still looping.

Reviewed-by: Matt Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #8298
2019-01-31 09:16:39 -08:00
..
2018-10-01 10:42:05 -07:00
2019-01-31 09:16:39 -08:00
2015-01-16 14:41:26 -08:00
2017-08-14 10:36:48 -07:00
2017-06-26 14:36:49 -07:00
2018-05-29 16:00:33 -07:00
2019-01-17 15:25:00 -08:00
2018-05-01 11:24:20 -07:00
2018-10-16 11:15:04 -07:00
2018-10-16 11:15:04 -07:00
2018-08-15 09:53:44 -07:00
2018-05-29 16:00:33 -07:00
2018-10-16 11:15:04 -07:00
2018-10-16 11:15:04 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2017-10-11 16:54:48 -04:00
2015-01-16 14:41:26 -08:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-03-15 10:53:58 -07:00
2018-10-01 10:42:05 -07:00
2018-03-15 10:53:58 -07:00
2010-08-31 13:41:58 -07:00
2018-05-29 16:00:33 -07:00
2018-10-24 14:37:02 -07:00
2018-05-29 16:00:33 -07:00
2018-11-11 18:09:00 -08:00
2016-11-29 14:34:33 -08:00
2019-01-31 09:16:39 -08:00
2018-05-29 16:00:33 -07:00
2018-10-17 10:30:08 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-02-13 14:54:54 -08:00
2018-10-17 10:31:38 -07:00
2018-05-29 16:00:33 -07:00
2019-01-13 10:11:52 -08:00
2018-02-09 10:08:05 -08:00
2018-08-27 10:04:21 -07:00
2018-05-29 16:00:33 -07:00