Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Dec 2014 15:00:25 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Xin LI <delphij@FreeBSD.org>, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-stable@FreeBSD.org, svn-src-stable-10@FreeBSD.org
Subject:   Re: svn commit: r275492 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <5485A0E9.2010807@FreeBSD.org>
In-Reply-To: <201412050032.sB50WXki040350@svn.freebsd.org>
References:  <201412050032.sB50WXki040350@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5485A0E9.2010807>