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
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