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. Thanks, Miklos