Commit Graph

1260 Commits (5348027205ba7a3565af455c3e6e94be57025215)

Author SHA1 Message Date
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
Aaron Jacobs 4df87deabd Added a test stub. 2015-08-04 08:27:55 +10:00
Aaron Jacobs 81a6d3d466 Declared errorfs.FS and a factory. 2015-08-04 08:24:16 +10:00
Aaron Jacobs 263bbab5dd Don't log errors that we expect to happen regularly.
For GoogleCloudPlatform/gcsfuse#99.
2015-08-03 13:15:29 +10:00
Aaron Jacobs 13eb2958d3 Added support for telling Linux not to abandon the page cache on open. 2015-07-29 16:25:39 +10:00
Aaron Jacobs eacbdb8d51 Disabled a test for a feature that doesn't work on OS X. 2015-07-29 16:24:47 +10:00
Aaron Jacobs a88ad8dbf2 Added support for KeepPageCache. 2015-07-29 05:53:46 +00:00
Aaron Jacobs c3c029c5c1 cachingFS.SetKeepCache 2015-07-29 05:52:25 +00:00
Aaron Jacobs 7fae3a996b Added OpenFileOp.KeepPageCache. 2015-07-29 05:51:20 +00:00
Aaron Jacobs 04dad40a08 PageCacheTest.TwoFileHandles_KeepCache 2015-07-29 05:47:18 +00:00
Aaron Jacobs 454f3959f7 PageCacheTest.TwoFileHandles_NoKeepCache 2015-07-29 05:46:13 +00:00
Aaron Jacobs 93388be731 PageCacheTest.SingleFileHandle_KeepCache 2015-07-29 05:43:47 +00:00
Aaron Jacobs 745498b1e9 cachingFS.ReadFile 2015-07-29 05:43:23 +00:00
Aaron Jacobs a95b1fb276 PageCacheTest.SingleFileHandle_NoKeepCache 2015-07-29 05:41:31 +00:00
Aaron Jacobs 28ee2de1e9 Added test names. 2015-07-29 05:37:55 +00:00
Aaron Jacobs b5be88054f Defined SetKeepCache and read behavior. 2015-07-29 15:32:49 +10:00
Aaron Jacobs 9e84136ee5 Don't run sprintf when unnecessary. 2015-07-29 15:13:22 +10:00
Aaron Jacobs 30cdb148b9 Allow the kernel to send other requests while waiting for a read.
On Linux this significantly increases gcsfuse sequential read throughput.
2015-07-29 14:59:35 +10:00
Aaron Jacobs cf5cfbccfd Fixed a (new) test bug on Linux. 2015-07-29 14:59:10 +10:00
Aaron Jacobs d45752960a Use a custom logging for interruptOp, to aid in debugging. 2015-07-29 14:53:09 +10:00
Aaron Jacobs 96b8ce71f0 Fixed a bug: the flags parameter is in and out. 2015-07-29 14:53:09 +10:00
Aaron Jacobs 3f954b3056 Enable async reads.
As best I can tell, this instructs the kernel not to synchronize on the
completion of a read request before sending further requests. This
definitely means further read requests, but I believe it means any sort
of request as well. It appears to make a big difference to gcsfuse read
support.
2015-07-29 14:53:09 +10:00
Aaron Jacobs 0114453672 Expanded interruptfs to also cover testing interrupts during flush. 2015-07-29 14:52:49 +10:00
Aaron Jacobs be5974e914 InterruptFSTest.InterruptedDuringFlush 2015-07-29 14:52:03 +10:00