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
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
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
3845b0f124
Use freelist.Freelist for buffer.InMessage.
2015-07-28 12:59:44 +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
95a6177c0c
Fixed redundant internal op names.
2015-07-27 15:52:13 +10:00
Aaron Jacobs
9441e60ece
Don't write zero-length replies.
2015-07-27 15:50:05 +10:00
Aaron Jacobs
3755e3c1a1
Fixed package fuse.
2015-07-27 15:43:41 +10:00
Aaron Jacobs
ef3d11e2b1
It seems the write returns errors as a matter of course when unmounting.
2015-07-27 15:40:11 +10:00
Aaron Jacobs
9b9a86cf80
Fixed Connection.Reply.
2015-07-27 15:33:33 +10:00
Aaron Jacobs
448c910c13
Write some of Connection.Reply.
2015-07-27 15:21:07 +10:00
Aaron Jacobs
dd1fcfedf5
Fixed more build errors.
2015-07-27 15:12:43 +10:00
Aaron Jacobs
d6d4cb87c5
Fixed Connection.Init.
2015-07-27 15:10:00 +10:00
Aaron Jacobs
fd0e095b3b
Reimplemented ReadOp.
2015-07-27 15:08:41 +10:00
Aaron Jacobs
8c5f6d8685
Updated the ReadOp signature.
2015-07-27 14:52:35 +10:00
Aaron Jacobs
585af56849
Fixed a few more build errors.
2015-07-27 14:28:44 +10:00
Aaron Jacobs
623ae99fae
Fixed a build error.
2015-07-27 14:27:34 +10:00
Aaron Jacobs
41dd5f04f5
Use a freelist for buffer.InMessage structs.
2015-07-27 13:20:28 +10:00
Aaron Jacobs
a07a396c6a
Added support for init ops.
2015-07-24 16:35:14 +10:00
Aaron Jacobs
6a25a1071c
Connection.Init
2015-07-24 16:29:59 +10:00
Aaron Jacobs
7775584eca
Killed an unnecessary field.
2015-07-24 16:23:37 +10:00
Aaron Jacobs
74e87c22b8
Killed some dead code.
2015-07-24 16:23:13 +10:00
Aaron Jacobs
ba66e02af1
Fixed initFlags.
2015-07-24 16:05:01 +10:00
Aaron Jacobs
91664cfc31
Fixed maxReadahead.
2015-07-24 16:03:24 +10:00
Aaron Jacobs
2860526871
Updated newConnection.
2015-07-24 16:01:45 +10:00
Aaron Jacobs
a721a505bf
Document the reason for a restriction.
2015-07-24 15:35:31 +10:00
Aaron Jacobs
cd47dbb4b8
Refactored fields a bit.
2015-07-24 15:32:50 +10:00
Aaron Jacobs
ee2b961839
Don't depend on fuseshim.Conn for sending messages.
2015-07-24 15:31:16 +10:00
Aaron Jacobs
32418239ae
Removed read locks around the device.
...
We require no conrrent calls to ReadOp, and that ServeOps doesn't return
until all ops have been responded to, so I believe this should be safe.
In particular, fuseshim uses the locks only to exclude reads and writes
during closing, not for anything else.
2015-07-24 15:26:07 +10:00
Aaron Jacobs
4de334e034
Fixed a bug related to EINTR.
2015-07-24 15:20:43 +10:00
Aaron Jacobs
a1dadab66e
Fixed a bug.
2015-07-24 15:07:55 +10:00
Aaron Jacobs
7a5761a67c
Fixed some TODOs.
2015-07-24 15:05:27 +10:00
Aaron Jacobs
f2e8a5d806
Connection.readMessage
2015-07-24 15:04:28 +10:00
Aaron Jacobs
3b9092aca5
Use InMessage in several places.
2015-07-24 14:33:27 +10:00
Aaron Jacobs
497407fde2
Better debug logging for getattr.
2015-07-24 12:51:32 +10:00
Aaron Jacobs
85cd1cb299
Fixed error and debug logging.
2015-07-24 12:51:32 +10:00
Aaron Jacobs
9c2f2652f7
Write replies to the kernel.
2015-07-24 12:51:32 +10:00
Aaron Jacobs
b6ae9475ba
Partially implemented sendReply.
2015-07-24 12:51:32 +10:00
Aaron Jacobs
9b8d9280ac
Fixed a logging bug.
2015-07-24 12:51:32 +10:00
Aaron Jacobs
b8d3dfd5ac
Fixed statfs and interrupt.
2015-07-24 12:51:30 +10:00
Aaron Jacobs
72906b755a
Fixed much of Connection.ReadOp.
2015-07-24 12:51:30 +10:00
Aaron Jacobs
81dee67b51
Use package fuseshim in package fuse.
2015-07-24 09:42:42 +10:00
Aaron Jacobs
f004d3ff4a
Avoid calling Logf on the hot path when logging is disabled.
...
The call to commonOp.Logf in sendBazilfuseResponse is extremely hot for
allocations, presumably because it needs to allocate an argument slice.
It is normally not needed at all, so why pay for it?
2015-07-22 21:45:49 +10:00
Aaron Jacobs
b44d345076
Killed the per-PID tracing feature.
...
This was a cute hack, but I haven't used it in awhile, and it won't work
(for gcsfuse at least) as of the changes for
GoogleCloudPlatform/gcsfuse#89 .
2015-07-16 10:54:34 +10:00
Aaron Jacobs
6c85a93914
Removed synchronization from Connection.Close.
2015-06-09 11:02:08 +10:00
Aaron Jacobs
3d04b93c8e
Made more firm some wording about interrupt semantics.
...
Now that I have some references to cite.
2015-06-03 08:51:28 +10:00