Messages in this thread | | | Date | Thu, 6 Sep 2012 15:30:52 +0900 | Subject | Re: [PATCH v2 4/5] fat: eliminate orphaned inode number allocation | From | Namjae Jeon <> |
| |
2012/9/5 OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>: > 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. Good point! I will fix it on next version of patches. Thanks. > -- > OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |