Commit Graph

1438 Commits (b6e2754edfa8ac864bd26efe8541ebf2ee6563eb)

Author SHA1 Message Date
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
Aaron Jacobs 85439be549 InterruptFSTest.InterruptedDuringRead 2015-07-29 14:51:33 +10:00
Aaron Jacobs 0796c46a9c Updated the interruptfs API. 2015-07-29 14:51:10 +10:00
Aaron Jacobs 94e31a27b6 Use the fuse ID in debug logs.
It's too confusing with a distinct set of IDs for logging.
2015-07-29 14:29:31 +10:00
Aaron Jacobs c80811a735 Don't spam the everloving shit out of the console for debug logging. 2015-07-29 12:02:58 +10:00
Aaron Jacobs e157c6bc8d Eliminated an allocation and a copy for each ReadFileOp.
This adds up to a significant performance gain for gcsfuse, in its sequential
read benchmark.

Also ReadDirOp.
2015-07-29 11:19:03 +10:00
Aaron Jacobs ab0580a452 Fixed a very dumb bug. 2015-07-29 11:14:17 +10:00
Aaron Jacobs ea97708e20 Read directly into out messages for directories. 2015-07-29 11:03:27 +10:00
Aaron Jacobs bbb262ee48 Read directly into out messages for files. 2015-07-29 11:02:29 +10:00
Aaron Jacobs 2e422a1305 Move where out messages are created. 2015-07-29 10:51:24 +10:00
Aaron Jacobs d903c709d3 Refactored allocation out OutMessage structs.
In preparation for allocating them up-front for ReadFile and ReadDir.
2015-07-29 10:47:41 +10:00
Aaron Jacobs 4fd46371a2 Rejiggered the ReadFile and ReadDir API.
The new API lends itself toward reading directly into the output buffer, saving
a memmove and allowing for easy reuse of output buffers.
2015-07-29 10:24:11 +10:00
Aaron Jacobs c12f80b1e2 Fixed flushfs. 2015-07-29 10:23:51 +10:00
Aaron Jacobs 85b3f9ed42 Fixed hellofs. 2015-07-29 10:22:26 +10:00
Aaron Jacobs b0d206254f Fixed another dumb bug. 2015-07-29 10:20:53 +10:00
Aaron Jacobs 5296835c1f Fixed a dumb bug. 2015-07-29 10:12:59 +10:00
Aaron Jacobs 339bc03e5e Attempted to fix memfs. 2015-07-29 10:12:11 +10:00
Aaron Jacobs 6d01ffa44f Replaced AppendDirent with WriteDirent. 2015-07-29 10:08:16 +10:00
Aaron Jacobs c08043788a Fixed conversions.go. 2015-07-29 09:49:28 +10:00
Aaron Jacobs f5d80cf9ab Defined the new API for ReadFileOp and ReadDirOp. 2015-07-29 09:48:18 +10:00
Aaron Jacobs 314b93c7c0 Use a freelist for outgoing messages.
This eliminates about half of the allocations by bytes for gcsfuse's sequential
read benchmark.
2015-07-28 16:36:05 +10:00
Aaron Jacobs 240465913f Fixed the build on Linux. 2015-07-28 16:31:59 +10:00
Aaron Jacobs a1fc133e32 Finished OutMessage. 2015-07-28 16:29:30 +10:00