Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH v2 4/5] fat: eliminate orphaned inode number allocation | Date | Wed, 05 Sep 2012 22:56:47 +0900 |
| |
Namjae Jeon <linkinjeon@gmail.com> writes:
> 2012/9/5, OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>: >> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes: >> >>> Namjae Jeon <linkinjeon@gmail.com> writes: >>> >>>> From: Namjae Jeon <namjae.jeon@samsung.com> >>>> >>>> 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@mail.parknet.co.jp>
| |