On 11/12/21 4:33 AM, Vivek Goyal wrote: > On Wed, Nov 10, 2021 at 04:50:25PM +0100, Miklos Szeredi wrote: >> On Tue, 2 Nov 2021 at 06:26, Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> wrote: >>> >>> When the per inode DAX hint changes while the file is still *opened*, it >>> is quite complicated and maybe fragile to dynamically change the DAX >>> state. >>> >>> Hence mark the inode and corresponding dentries as DONE_CACHE once the >>> per inode DAX hint changes, so that the inode instance will be evicted >>> and freed as soon as possible once the file is closed and the last >>> reference to the inode is put. And then when the file gets reopened next >>> time, the new instantiated inode will reflect the new DAX state. >>> >>> In summary, when the per inode DAX hint changes for an *opened* file, the >>> DAX state of the file won't be updated until this file is closed and >>> reopened later. >> >> This patch does nothing, since fuse already uses .drop_inode = >> generic_delete_inode, which is has the same effect as setting >> I_DONTCACHE, at least in the fuse case (inode should never be dirty at >> eviction). In fact it may be cleaner to set I_DONTCACHE >> unconditionally and remove the .drop_inode callback setting. > > I thought idea was to drop dentry and not cache it which in turn > will drop dentry's reference on inode and lead to cleanup of inode. > > Otherwise dentry might remain cached and which in-turn will keep > inode in cache. Am I missing something. > Yes that's the case. -- Thanks, Jeffle