Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:53767 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752209Ab1EWL30 convert rfc822-to-8bit (ORCPT ); Mon, 23 May 2011 07:29:26 -0400 Date: Mon, 23 May 2011 07:30:27 -0400 From: Jeff Layton To: Sid Moore Cc: linux-nfs@vger.kernel.org Subject: Re: Report bug: space not released when file deleted. Message-ID: <20110523073027.271cb61f@corrin.poochiereds.net> In-Reply-To: References: Content-Type: text/plain; charset=UTF-8 Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 On Mon, 23 May 2011 13:42:41 +0800 Sid Moore wrote: > Hi, > > On Linux NFS, I found a file deleted but its space not released in > NFSv3. It is on 2.6.32. > > The steps for reproducing are listed below. > 1) create a ext3 filesystem on a device, mount it to local dir > /exports/fs1_ext3/, export /exports/fs1_ext3/ with no_subtree_check to > a NFS client. this client mount this exported dir with infinite > retrans. > 2) on the ext3 fs, create a large regular file  (say: 600MB) > 3) on NFS client, starts several processes who reading this file in 2) > in parallel > 4) during step 3), kill all nfsd threads, umount this ext3 fs; then > mount this ext3 to /exports/fs1_ext3; start 8 nfsd threads. > 5) after processes finished reading, delete this file. then, I found > the space occupied but this file not released. > > during step 4), I think an anonymous dentry of this file was created > after fh_verify(). in step 5), a named dentry of this file also > created. So, there are two dentry on this inode. but when deleting, > only the named dentry deleted. only restart this ext3 fs or dcache > shrinked, the anonymous dentry will not be released and it referenced > the inode of this file. so its space not freed. > > is my analysis correct?  anyone has encountered this issue before? or, > this issue was fixed by someone? Thanks. > You may want to test a more recent kernel on the server before you dig in too deeply. I know that Bruce has fixed a number of these sorts of problems recently. Cheers, -- Jeff Layton