On Thu, 2025-09-11 at 10:30 +0800, Zhou Jifeng wrote: > Hello everyone, I have a question that has been bothering me for a > long > time. I would like to ask a familiar friend to help explain it. In > the NFSv4 > protocol, it is clearly defined that during the delegation RECALL > processing, the client needs to write the modified cache to the > server > side. However, throughout the process, I have not found the code for > flushing dirty data in the kernel NFS client. I have repeatedly > reviewed > the code logic of nfs4_callback_recall and nfs4_state_manager, but > still > cannot understand where the dirty data is flushed. > > My question is: When the client is handling the RECALL operation, > where > does the process of flushing the dirty data take place? > The question of when to flush dirty data isn't determined by the NFSv4 RECALL operation spec. It is decided by the client caching model and by POSIX. Please read the "nfs(5)" manpage and the section on close-to-open cache consistency. -- Trond Myklebust Linux NFS client maintainer, Hammerspace trondmy@xxxxxxxxxx, trond.myklebust@xxxxxxxxxxxxxxx