HomeFreeBSD

10853 spa_sync, vs_alloc can underflow and checkpoint test fixes

Description

10853 spa_sync, vs_alloc can underflow and checkpoint test fixes

illumos/illumos-gate@9740f25f0360eb7d9131fa15fabebf958bf19126
https://github.com/illumos/illumos-gate/commit/9740f25f0360eb7d9131fa15fabebf958bf19126

https://www.illumos.org/issues/10853

From ZoL
7558997 vs_alloc can underflow in L2ARC vdevs
8dc2197 Simplify spa_sync by breaking it up to smaller functions
db58794 Make zdb results for checkpoint tests consistent
Here are the commit msg summaries from ZoL:
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.
Simplify spa_sync by breaking it up to smaller functions
The point of this refactoring is to break the high-level conceptual
    steps of spa_sync() to their own helper functions. In general large
    functions can enhance readability if structured well, but in this
    case the amount of conceptual steps taken could use the help of
    helper functions.
Make zdb results for checkpoint tests consistent
This patch exports and re-imports the pool when these tests are
    analyzed with zdb to get consistent results.

Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Author: Serapheim Dimitropoulos <serapheim@delphix.com>

Details

Provenance
avgAuthored on
Parents
rS354956: bcm2835_sdhci: only inspect interrupts we handle
Branches
Unknown
Tags
Unknown