What's the entire process by which data gets written? I'd like to understand this. nfs4_proc_write_setup() is called using the write_setup pointer in nfs_write_rpcsetup(), which is called by nfs_flush_one(), called by nfs_flush_list(), called by do_nfs_direct_IO() and nfs_flush_file(). nfs4_proc_write_setup() gives the rpc layer nfs4_write_done() as a callback, which updates times and such and calls nfs_writeback_done(), which does a number of mysterious things. Similarly: nfs4_proc_read_setup() called by read_setup pointer in nfs_read_rpcsetup(). The callback is nfs4_read_done(), which calls nfs_readpage_result().