From patchwork Tue Jul 3 03:21:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 1148781 Return-Path: X-Original-To: patchwork-dm-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by patchwork1.kernel.org (Postfix) with ESMTP id 1B1233FC33 for ; Tue, 3 Jul 2012 03:25:58 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q633Lo0I018788; Mon, 2 Jul 2012 23:21:52 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q633Lncp028127 for ; Mon, 2 Jul 2012 23:21:49 -0400 Received: from mx1.redhat.com (ext-mx14.extmail.prod.ext.phx2.redhat.com [10.5.110.19]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q633LiVs031785; Mon, 2 Jul 2012 23:21:44 -0400 Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q633LgC9029095; Mon, 2 Jul 2012 23:21:42 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ak4JAE9k8k95LNXy/2dsb2JhbABFtTYEgS2BCIIYAQEFJxMcIxAIAxUDLhQlAyETiAq7LhSLJUOFVwOVM4knhl2CcQ Received: from ppp121-44-213-242.lns20.syd7.internode.on.net (HELO dastard) ([121.44.213.242]) by ipmail06.adl2.internode.on.net with ESMTP; 03 Jul 2012 12:51:38 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1SltgG-0004g3-DR; Tue, 03 Jul 2012 13:21:36 +1000 Date: Tue, 3 Jul 2012 13:21:36 +1000 From: Dave Chinner To: Mike Snitzer Message-ID: <20120703032136.GZ19223@dastard> References: <20120702191412.GA3617@redhat.com> <20120703002611.GW19223@dastard> <20120703012628.GA5710@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20120703012628.GA5710@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-RedHat-Spam-Score: -0.01 (RCVD_IN_DNSWL_NONE) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Scanned-By: MIMEDefang 2.68 on 10.5.110.19 X-loop: dm-devel@redhat.com Cc: dm-devel@redhat.com, xfs@oss.sgi.com Subject: Re: [dm-devel] xfs_btree_cur leak with 3.5-rc4 X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk Reply-To: device-mapper development List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com On Mon, Jul 02, 2012 at 09:26:28PM -0400, Mike Snitzer wrote: > On Mon, Jul 02 2012 at 8:26pm -0400, > Dave Chinner wrote: > > > On Mon, Jul 02, 2012 at 03:14:12PM -0400, Mike Snitzer wrote: > > > I get kmemleak reports against XFS when I run the thinp-test-suite > > > against 3.5-rc4. I didn't see any XFS leaks with 3.4. > > > > Already fixed in 3.5-rc5: > > > > 76d0953 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near > > Odd, I already have that fix (as it was included in 3.5-rc4). I misread the git describe as saying it was included after -rc4. My mistake. That indicates that the above fix wasn't quite correct... Try the patch below. Cheers, Dave. Tested-by: Mike Snitzer diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c index 9d1aeb7..f654f51 100644 --- a/fs/xfs/xfs_alloc.c +++ b/fs/xfs/xfs_alloc.c @@ -1074,13 +1074,13 @@ restart: * If we couldn't get anything, give up. */ if (bno_cur_lt == NULL && bno_cur_gt == NULL) { + xfs_btree_del_cursor(cnt_cur, XFS_BTREE_NOERROR); + if (!forced++) { trace_xfs_alloc_near_busy(args); xfs_log_force(args->mp, XFS_LOG_SYNC); goto restart; } - - xfs_btree_del_cursor(cnt_cur, XFS_BTREE_NOERROR); trace_xfs_alloc_size_neither(args); args->agbno = NULLAGBLOCK; return 0;