Re: [PATCH 5/5] fat: add mutex lock to fat_build_inode

From: OGAWA Hirofumi
Date: Tue Oct 30 2012 - 20:46:48 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/