Commit Graph

1283 Commits (962e8e26d5cc338f60d21394e1ae45218009d651)

Author SHA1 Message Date
Aaron Jacobs 962e8e26d5 Enabled writeback caching by default.
This may bring significant performance improvements, but also comes with
some caveats. See the notes on MountConfig.DisableWritebackCaching for
details.
2015-08-12 12:42:00 +10:00
Aaron Jacobs 4f74c87df8 Updated a redundant code walk. 2015-08-12 12:41:29 +10:00
Aaron Jacobs 308cf97f7e Described what happens on OS X. 2015-08-12 02:36:11 +00:00
Aaron Jacobs 182c96da07 Fixed cachingfs. 2015-08-12 02:35:41 +00:00
Aaron Jacobs 2e6836708e Increased the slop in memfs_test. 2015-08-12 02:34:02 +00:00
Aaron Jacobs 89495b2e04 Allow opting out of writeback caching.
See the documentation on MountConfig.DisableWritebackCaching for
discussion.
2015-08-12 02:33:08 +00:00
Aaron Jacobs f40a24c8d5 Pay attention to DisableWritebackCaching. 2015-08-12 02:32:39 +00:00
Aaron Jacobs 842af25013 Added and documented MountConfig.DisableWritebackCaching. 2015-08-12 02:29:23 +00:00
Aaron Jacobs ed6f72d078 Updated a TODO. 2015-08-12 00:48:00 +00:00
Aaron Jacobs b0a4566c53 Fixed flushfs for writback caching. 2015-08-11 06:33:20 +00:00
Aaron Jacobs 373004db87 Stop using a clock for memfs mtimes.
We can't do this now that the kernel chooses mtimes and sends setattr
requests due to our use of writeback caching.
2015-08-11 06:33:20 +00:00
Aaron Jacobs e69b8a8c37 Implement setattr; otherwise closing after writing fails. 2015-08-11 06:33:20 +00:00
Aaron Jacobs fee78b6548 Added comments for timeSlop. 2015-08-11 06:33:20 +00:00
Aaron Jacobs eaa0177b80 Clean up mappings even on assertion failure. 2015-08-11 06:33:20 +00:00
Aaron Jacobs 0bc289ec1b Fixed some more mtime assertions. 2015-08-11 06:33:20 +00:00
Aaron Jacobs d6e247cc46 Fixed several mtime assertions. 2015-08-11 06:33:20 +00:00
Aaron Jacobs a6dd3d2147 Fixed memfs_test.go. 2015-08-11 06:33:20 +00:00
Aaron Jacobs eecd0fb964 Fixed inode.go. 2015-08-11 06:33:19 +00:00
Aaron Jacobs 9c33490a6c Removed clocks from memfs.go. 2015-08-11 06:33:19 +00:00
Aaron Jacobs de030d4a35 Improved setattr debug logging. 2015-08-11 06:33:18 +00:00
Aaron Jacobs df888905ab Set InitWritebackCache. 2015-08-11 06:32:54 +00:00
Aaron Jacobs c7ea480a5c Improved lookup logging. 2015-08-11 06:32:47 +00:00
Aaron Jacobs 355975cfca Ignore vim swap files. 2015-08-11 05:54:05 +00:00
Aaron Jacobs 5348027205 Make sure the mount point exists before trying to mount.
Otherwise we get confusing EOF errors when we later call out to osxfuse.
2015-08-11 10:55:48 +10:00
Aaron Jacobs 3574e9aa49 Make sure the mount point exists up front. 2015-08-11 10:55:43 +10:00
Aaron Jacobs 21ac1b6da5 Moved Mount into its own file. 2015-08-11 10:54:52 +10:00
Aaron Jacobs 81de9fb6cc Made the message shrinking API less confusing. 2015-08-10 15:45:46 +10:00
Aaron Jacobs 9a7512aac0 Improved debug logging for unknownOp. 2015-08-06 16:25:43 +10:00
Aaron Jacobs 5711e18bd0 Improved the readability of debug logging. 2015-08-06 15:45:43 +10:00
Aaron Jacobs 6450a1cbbf Added special cases for ReadFile and WriteFile. 2015-08-06 15:45:40 +10:00
Aaron Jacobs 5c05a7c040 Refactored describeRequest. 2015-08-06 15:44:08 +10:00
Aaron Jacobs 41ea2b7530 Don't repeat the op when logging the response.
Doing so adds lots of visual clutter.
2015-08-06 15:37:32 +10:00
Aaron Jacobs 348ed9e731 Disabled async reads.
Allowing the kernel to send multiple reads for the same file handle
concurrently interferes with sequential read detection like that in
GoogleCloudPlatform/gcsfuse#103.
2015-08-05 11:09:20 +10:00
Aaron Jacobs b5c1fd6ddc Fixed two issues with error responses to the kernel.
One of them caused the writeMessage error observed on OS X in
GoogleCloudPlatform/gcsfuse#101.
2015-08-04 12:30:01 +10:00
Aaron Jacobs 1e2d4abaf9 Don't send error responses to the kernel for forget and interrupt.
It's not expecting them.
2015-08-04 12:28:08 +10:00
Aaron Jacobs d205df3144 Don't return long error responses to ReadDir and ReadFile. 2015-08-04 12:21:34 +10:00
Aaron Jacobs 00b92df61c Don't forget to close the opened files. 2015-08-04 02:19:21 +00:00
Aaron Jacobs 589f6c3c98 Added a test for various file system error conditions.
This reproduces the writeMessage errors from
GoogleCloudPlatform/gcsfuse#101.
2015-08-04 09:04:31 +10:00
Aaron Jacobs ad3a463488 Implemented dir methods. 2015-08-04 09:03:22 +10:00
Aaron Jacobs 7943ab5bf4 ErrorFSTest.ReadDir 2015-08-04 09:01:53 +10:00
Aaron Jacobs e22f698dd3 ErrorFSTest.OpenDir 2015-08-04 09:01:02 +10:00
Aaron Jacobs e6a4db9920 errorFS.ReadFile 2015-08-04 09:00:38 +10:00
Aaron Jacobs e5d377b531 ErrorFSTest.ReadFile 2015-08-04 08:59:34 +10:00
Aaron Jacobs 1ea2e82165 errorFS.OpenFile 2015-08-04 08:48:03 +10:00
Aaron Jacobs 54db03b63d errorFS.LookUpInode 2015-08-04 08:45:51 +10:00
Aaron Jacobs c71b2cbf33 Fixed two bugs. 2015-08-04 08:42:51 +10:00
Aaron Jacobs c3601bff1c errorFS.GetInodeAttributes 2015-08-04 08:40:38 +10:00
Aaron Jacobs 978399a268 errorFS.SetError 2015-08-04 08:35:59 +10:00
Aaron Jacobs 8aecb35541 ErrorFSTest.OpenFile 2015-08-04 08:31:51 +10:00
Aaron Jacobs e1bfc5006b Added test names. 2015-08-04 08:29:38 +10:00