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
Aaron Jacobs
a25c297e41
OutMessage.AppendString
2015-07-28 16:29:09 +10:00
Aaron Jacobs
bb88db68e0
OutMessage.Append
2015-07-28 16:28:21 +10:00
Aaron Jacobs
75e2706a4b
Renamed two files.
2015-07-28 16:26:42 +10:00
Aaron Jacobs
e2aa0ec1be
OutMessage.GrowNoZero
2015-07-28 16:24:45 +10:00
Aaron Jacobs
9a55ffcd7d
OutMessage.Grow
2015-07-28 16:23:59 +10:00
Aaron Jacobs
2e3cba1928
OutMessage.OutHeader
2015-07-28 16:23:34 +10:00
Aaron Jacobs
114432703b
Check alignment.
2015-07-28 16:23:10 +10:00
Aaron Jacobs
c210aa8a95
OutMessage.Reset
2015-07-28 16:20:50 +10:00
Aaron Jacobs
8b845a25ee
Implemented memclr.
2015-07-28 16:19:37 +10:00
Aaron Jacobs
f419bd4578
Declared memclr.
2015-07-28 16:19:03 +10:00
Aaron Jacobs
5b3f5df8cc
Specify that append methods panic.
2015-07-28 16:17:56 +10:00
Aaron Jacobs
384f32c2a3
Connection.kernelResponseForOp
2015-07-28 16:17:06 +10:00
Aaron Jacobs
5238806cff
Connection.Reply
2015-07-28 16:14:58 +10:00
Aaron Jacobs
0becfa3df2
Began fixing Connection.
2015-07-28 16:13:18 +10:00
Aaron Jacobs
c0e60edb32
Defined the new OutMessage API.
2015-07-28 16:09:27 +10:00
Aaron Jacobs
3371ab70ac
Redefined the contents of OutMessage.
2015-07-28 16:06:23 +10:00
Aaron Jacobs
2d3078f8b9
Refactored the way freelists work.
2015-07-28 15:53:53 +10:00
Aaron Jacobs
3845b0f124
Use freelist.Freelist for buffer.InMessage.
2015-07-28 12:59:44 +10:00
Aaron Jacobs
5b5d8ff8be
Added a freelist package.
2015-07-28 12:56:16 +10:00
Aaron Jacobs
9232b8275f
Don't convert uint64 to interface{} for the context key every time.
...
This accounts for ~80% of gcsfuse allocations.
2015-07-28 12:52:38 +10:00
Aaron Jacobs
c968295acd
Don't spam the error logger so much.
2015-07-27 16:03:58 +10:00
Aaron Jacobs
83630d4268
Refactored the way the user obtains contexts and replies to ops.
...
The new interface gives much much cleaner documentation for package
fuseops, which is what we mostly look at. In particular, there isn't a
ton of stuttering in the method listings.
The change also simplifies the implementation of package fuseops, which
was becoming super unwieldy.
2015-07-27 15:56:27 +10:00
Aaron Jacobs
5c332f767b
Moved the kernel response functions to a more appropriate place.
2015-07-27 15:55:14 +10:00
Aaron Jacobs
4c33dd3f40
Fixed some long lines.
2015-07-27 15:53:20 +10:00
Aaron Jacobs
95a6177c0c
Fixed redundant internal op names.
2015-07-27 15:52:13 +10:00
Aaron Jacobs
407b005d68
Deleted some dead code.
2015-07-27 15:51:03 +10:00
Aaron Jacobs
9441e60ece
Don't write zero-length replies.
2015-07-27 15:50:05 +10:00