I’m trying to understand the flow of write back cache option in FUSE. I see in the function “fuse_write_iter” before calling “generic_file_write_iter”, there is a call to “fuse_update_attributes” which checks the time out on attributes and sends a “FUSE_GETATTR” to the user space. Upon receiving the attributes from user space it calls “fuse_change_attributes” which updates the inode attributes except “mtime” and “time” (in case of write back cache). And once the flush of dirty pages happen after “write_pages” there will be a call to “fuse_write_inode” which flushes the “mtime” and “ctime” to the user space using FUSE_SETATTR. My question here is which code is responsible for modifying the “mtime” and “ctime” of the anode inside the FUSE Kernel part that is sent to User space(in write back cache).