Re: [PATCH v5 7/8] fat (exportfs): rebuild directory-inode iffat_dget() fails

From: Namjae Jeon
Date: Mon Jan 28 2013 - 02:43:51 EST


2013/1/26, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>
>> 2013/1/20, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
>>> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>>>
>>>> We rewrite patch as your suggestion using dummy inode. Would please
>>>> you review below patch code ?
>>>
>>> Looks like good as initial. Clean and shorter.
>>>
>>> Next is, we have to think about race. I.e. if real inode was made, what
>>> happens? Is there no race?
>> Hi OGAWA.
>>
>> Although checking several routines to check hang case you said, I
>> didn't find anything.
>> And There is no any race on test result also. Am I missing something ?
>> Let me know your opinion.
>
> Hm, it's read-only. So, there may not be race for now, I'm sure there is
> race on write path though.
Yes, right. We checked/tested on read-only.
Maybe have you found race with rename and unlink ?
If yes, I think we can fix this issue with lock like this.

+ mutex_lock(&MSDOS_SB(sb)->s_lock);
parent_inode = fat_rebuild_parent(sb, parent_logstart);
+ mutex_unlock(&MSDOS_SB(sb)->s_lock);

Let me know your opinion.
Thanks.
>
> Thanks.
> --
> 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/