From 659e2e61bde52f6edda615fd6c0cd7c9793d49f7 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Fri, 6 Mar 2015 22:45:16 -0600 Subject: [PATCH] Added links for a code walk. --- file_system.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/file_system.go b/file_system.go index 95b7e51..84d90a0 100644 --- a/file_system.go +++ b/file_system.go @@ -171,25 +171,27 @@ type FileSystem interface { // page via the FUSE VFS layer, causing this method to be called: // // * The kernel calls address_space_operations::writepage when a dirty page - // needs to be written to backing store (see vfs.txt). Fuse sets this to - // fuse_writepage (see file.c). + // needs to be written to backing store (cf. http://goo.gl/Ezbewg). Fuse + // sets this to fuse_writepage (cf. http://goo.gl/IeNvLT). // - // * fuse_writepage calls fuse_writepage_locked. + // * (http://goo.gl/Eestuy) fuse_writepage calls fuse_writepage_locked. // - // * fuse_writepage_locked makes a write request to the userspace server. + // * (http://goo.gl/RqYIxY) fuse_writepage_locked makes a write request to + // the userspace server. // // Note that writes *will* be received before a call to Flush when closing // the file descriptor to which they were written: // - // * fuse_flush calls write_inode_now, which appears to start a writeback - // in the background (it talks about a "flusher thread"). + // * (http://goo.gl/PheZjf) fuse_flush calls write_inode_now, which appears + // to start a writeback in the background (it talks about a "flusher + // thread"). // - // * fuse_flush then calls fuse_sync_writes, which "[waits] for all pending - // writepages on the inode to finish". + // * (http://goo.gl/1IiepM) fuse_flush then calls fuse_sync_writes, which + // "[waits] for all pending writepages on the inode to finish". // - // * Only then does fuse_flush finally send the flush request. + // * (http://goo.gl/zzvxWv) Only then does fuse_flush finally send the + // flush request. // - // TODO(jacobsa): Add links for all of the references above. WriteFile( ctx context.Context, req *WriteFileRequest) (*WriteFileResponse, error)