svn commit: r275492 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Mon Dec 8 13:01:38 UTC 2014
On 05/12/2014 02:32, Xin LI wrote:
> Author: delphij
> Date: Fri Dec 5 00:32:33 2014
> New Revision: 275492
> URL: https://svnweb.freebsd.org/changeset/base/275492
>
> Log:
> MFC r274172 (avg)
>
> fix l2arc compression buffers leak
Thanks a lot!
BTW, do you plan to MFC this commit to stable/9?
It seems that r268075 and r268858 need MFC-ing to that branch as well.
> We have observed that arc_release() can be called concurrently with a
> l2arc in-flight write.
> Also, we have observed that arc_hdr_destroy() can be called from
> arc_write_done() for a zio with ZIO_FLAG_IO_REWRITE flag in similar
> circumstances.
>
> Previously the l2arc headers would be freed while leaking their
> associated compression buffers. Now the buffers are placed on
> l2arc_free_on_write list for delayed freeing. This is similar to what
> was already done to arc buffers that were supposed to be freed
> concurrently with in-flight writes of those buffers.
>
> In addition to fixing the discovered leaks this change also adds some
> protective code to assert that a compression buffer associated with a
> l2arc header is never leaked.
>
> A new kstat l2_cdata_free_on_write is added. It keeps a count of
> delayed compression buffer frees which previously would have been leaks.
>
> Tested by: Vitalij Satanivskij <satan at ukr.net> et al
> Requested by: many
> Sponsored by: HybridCluster / ClusterHQ
>
> This is a 10.1-RELEASE errata candidate.
>
> Modified:
> stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
> Directory Properties:
> stable/10/ (props changed)
--
Andriy Gapon
More information about the svn-src-stable
mailing list