I believe there are two types of inodes - on-disk and in-core inode ('struct inode' in fs.h). An on-disk inode is based on filesystem implementation. I am trying to understand the underlying concept and have a few questions -
- Can someone point me to the code (or walk through the steps) where the on-disk inode is read/copied to the in-core inode? i.e., when in-core inode is created it has to be from an on-disk inode. So, how does this happen?
- Why doesn't the in-core inode store a pointer to the on-disk inode?
- If there is a modification to the in-core inode then how is it propagated to the on-disk inode? Any pointers to the code or code-flow would be helpful.
Thanks!