Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jacobsa-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
jacobsa-fuse
Commits
659e2e61
Commit
659e2e61
authored
Mar 06, 2015
by
Aaron Jacobs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added links for a code walk.
parent
5b07c5da
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
10 deletions
+12
-10
file_system.go
file_system.go
+12
-10
No files found.
file_system.go
View file @
659e2e61
...
...
@@ -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
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment