lkml.org 
[lkml]   [2012]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v4 3/4] fat (exportfs): rebuild directory-inode if fat_dget() fails
From
2012/10/14, OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
> Namjae Jeon <linkinjeon@gmail.com> writes:
>
>>>>>> + if (!fat_get_dotdot_entry(child_dir->d_inode, &dotdot_bh, &de))
>>>>>> {
>>>>>> + parent_logstart = fat_get_start(sbi, de);
>>>>>> parent_inode = fat_dget(sb, parent_logstart);
>>>>>> + if (parent_inode || sbi->options.nfs !=
>>>>>> FAT_NFS_NOSTALE_RO)
>>>>>> + goto out;
>>>>>> + if (!parent_logstart)
>>>>>> + /*logstart of dotdot entry is zero if
>>>>>> + * if the directory's parent is root
>>>>>> + */
>>>>>> + parent_inode = sb->s_root->d_inode;
>>>>>
>>>>> get_parent() should not be called for root dir, right?
>>>> Yes.
>>>
>>> Ah, actual question was - subdir of root can be passed to this? I guess
>>> it is possible...
>> Yes, you're right.
>
> OK, I think I got where is wrong. If it is the subdir of rootdir,
> fat_dget() should get the inode of root?
That is correct. Whenever fat_dget() is called for sub-directories
which is in root folder, we assign root inode as parent inode.
>
> So, I guess if parent_logstart == 0, it is BUG().
Would you explain more why you think it is BUG() ?

Thanks.
> --
> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>


\
 
 \ /
  Last update: 2012-10-15 10:01    [W:0.061 / U:0.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site