No. I guess I didn't make my question clear. My question is: Will an inode be released after the last file refers to this is closed? If so, this could bring a performance issue. Consider this case: a process open a file, read it, close it, then reopen this file, read it, close it. For every open, the inode has to be read from disk again, which make hurt performance. So I think inode should stay in inode_cache for a while, not released right after the last file stops referring it. I just want to know whether my guess is right. If it is, when will kernel release the inode, since an inode cannot stay in memory forever. xin On 6/10/06, Matthew Wilcox <matthew@xxxxxx> wrote:
On Fri, Jun 09, 2006 at 08:10:10PM -0400, Xin Zhao wrote: > I was wondering how Linux decide to free an inode from the > inode_cache? If a file is open, an inode structure will be created and > put into the inode_cache, but when will this inode be free and removed > from the inode_cache? after this file is closed? If so, this seems to > be inefficient. how can you possibly release an inode while the file's still open? look at all the information stored in the inode, like the length of the file, last accessed time, not to mention which filesystem the inode belongs to.
- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html