From mboxrd@z Thu Jan 1 00:00:00 1970 From: OGAWA Hirofumi Subject: Re: [PATCH 5/5] fat: add mutex lock to fat_build_inode Date: Wed, 31 Oct 2012 09:46:49 +0900 Message-ID: <87390va2o6.fsf@devron.myhome.or.jp> References: <1351389223-2628-1-git-send-email-linkinjeon@gmail.com> <20121029164936.2022db6c.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain Cc: Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Namjae Jeon , Ravishankar N , Amit Sahrawat To: Namjae Jeon Return-path: In-Reply-To: (Namjae Jeon's message of "Tue, 30 Oct 2012 13:24:26 +0900") Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Namjae Jeon writes: > 2012/10/30, Andrew Morton : >> On Sun, 28 Oct 2012 10:53:43 +0900 >> Namjae Jeon wrote: >> >>> From: Namjae Jeon >>> >>> fat_nfs_get_inode does not hold i_mutex of parent directory.So add >>> lock to fat_build_inode. >> > Hi. Andrew. >> Well.. why? Presumably this patch fixes some race. A good >> description of that race would be useful - partly because others may >> then be able to suggest alternative ways of fixing that bug. > We are making use of fat_build_inode to build the inode using 'i_pos'. > Since, this function is local to FAT and when mounted over NFS. We can > make use of FAT parallely from local NFS Server and mounted from NFS > client. So, in order to avoid race to multiple regeneration for the > same 'i_pos' - we have introduced this locking. This lock fixes the NFS patches. FAT inode is embedded into directory. So usual local ->lookup path is exclusive by inode->i_mutex. But NFS patches (current -mm, IIRC) introduce the new path for FH => inode lookup. So, this lock is introduced. -- OGAWA Hirofumi