Re: [PATCH v2 4/5] fat: eliminate orphaned inode number allocation

From: OGAWA Hirofumi
Date: Wed Sep 05 2012 - 09:56:44 EST


Namjae Jeon <linkinjeon@xxxxxxxxx> writes:

> 2012/9/5, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
>> OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> writes:
>>
>>> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>>>
>>>> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
>>>>
>>>> Maintain a list of inode(i_pos) numbers of orphaned inodes (i.e the
>>>> inodes that have been unlinked but still having open file
>>>> descriptors).At file/directory creation time, skip using such i_pos
>>>> values.Removal of the i_pos from the list is done during inode eviction.
>>>
>>> What happens if the directory (has busy entries) was completely removed?
> Hi OGAWA.
> There are 2 cases:
> 1. The cluster can be used as a data cluster of a file - In which case
> we can write
> normally into it.
> 2. The cluster can be allocated to a new directory. In this case, the busy i_pos
> locations can not be used to create new entries until the correspnding
> inodes are
> evicted.

In the (2) case, it has problem. Directory must not have de->name[0] == 0
in middle of entires. "0" means the end of directory.
--
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/