Re: How can I completely evict(remove) the inode from memory and access the disk next time?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 02, 2019 at 05:30:21PM +0900, Daegyu Han wrote:
> Hi linux file system experts,
> 
> I'm so sorry that I've asked again the general question about Linux
> file systems.
> 
> For example, if there is a file a.txt in the path /foo/ bar,
> what should I do to completely evict(remove) the inode of bar
> directory from memory and read the inode via disk access?
> 
> A few weeks ago. I asked a question about dentry and Ted told me that
> there is a negative dentry on Linux.
> 
> I tried to completely evict(remove) the dentry cache using FS API in
> include/fs.h and dcache.h, and also evict the inode from memory, but I
> failed.
> 
> The FS API I used is:
> dput() // to drop usage count and remove from dentry cache
> iput() // to drop usage count and remove from inode cache.
> 
> To be honest, I'm confused about which API to cope with my question.
> 
> As far as I know, even though metadata is released from the file
> system cache, it is managed as an LRU list.
> 
> I also saw some code related to CPU cacheline.
> When I look at the superblock structure, there are also inodes, dcache
> lists, and LRUs.
> 
> How can I completely evict the inode from memory and make disk access
> as mentioned above?

In general you simply can't.  Not if there is anyone who'd opened the file
in question.  As long as the sucker is opened, struct inode *WILL* remain
in memory.

What are you trying to achieve?



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux