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