Namjae Jeon <linkinjeon@xxxxxxxxx> writes: > 2012/10/30, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: >> On Sun, 28 Oct 2012 10:53:43 +0900 >> Namjae Jeon <linkinjeon@xxxxxxxxx> wrote: >> >>> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> >>> >>> 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 <hirofumi@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html