Commit Graph

100 Commits (b6e2754edfa8ac864bd26efe8541ebf2ee6563eb)

Author SHA1 Message Date
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
Aaron Jacobs 438929753f Updated newConnection. 2015-05-25 14:17:16 +10:00
Aaron Jacobs e0db5cf622 Renamed existing debug logging functions. 2015-05-25 14:13:24 +10:00
Aaron Jacobs cb273d013a Moved per-PID tracing to Connection.
This lets it happen before per-request cancellation, which otherwise
causes all future ops to start cancelled after one finishes.
2015-05-05 15:06:01 +10:00
Aaron Jacobs 98fe7cbb0d Handle interrupt requests. 2015-05-05 12:21:57 +10:00
Aaron Jacobs 0c8f9cece8 Fix another osxfuse request ID reuse bug. 2015-05-05 11:47:05 +10:00
Aaron Jacobs 7fd0abb1f5 Handle osxfuse's behavior of reusing "unique" IDs. 2015-05-05 11:44:54 +10:00
Aaron Jacobs 5649885523 Fixed a panic. 2015-05-05 10:42:17 +10:00
Aaron Jacobs 766ff1edf7 Connection.recordCancelFunc 2015-05-05 10:41:52 +10:00
Aaron Jacobs d22c1c64ae Arrange for a cancellation channel. 2015-05-05 10:41:09 +10:00
Aaron Jacobs 4fdecd8417 Use new beginOp/finishOp. 2015-05-05 10:36:38 +10:00
Aaron Jacobs 365f219704 New begin/finish interface. Not yet wired. 2015-05-05 10:34:40 +10:00
Aaron Jacobs 64a7c6f973 Connection.ReadOp can assume Convert will not fail. 2015-05-05 10:33:47 +10:00
Aaron Jacobs 15bdf82b56 Connection.finishOp 2015-05-05 10:04:31 +10:00
Aaron Jacobs be9bf6720f Connection.ReadOp 2015-05-05 10:04:03 +10:00
Aaron Jacobs 0985694a4b Allow setting a parent context for all ops. 2015-05-01 11:17:15 +10:00
Aaron Jacobs 83f6f835b8 Align per-op log messages. 2015-04-29 12:11:34 +10:00
Aaron Jacobs c2e9acdd0a Made built-in fuse logging less verbose. 2015-04-29 12:09:39 +10:00
Aaron Jacobs 3e4a8fd488 Shorter op IDs. 2015-04-29 11:53:17 +10:00
Aaron Jacobs 4b97059d22 Added the op ID. 2015-04-29 11:51:25 +10:00
Aaron Jacobs cad0c5fe50 Obtain file:line info in Connection.log. 2015-04-29 11:44:00 +10:00
Aaron Jacobs 1720b526fb Use Connection.log for ops, too. 2015-04-29 11:35:28 +10:00
Aaron Jacobs d12e71f773 Added a Connection.log method, with a TODO. 2015-04-29 11:32:21 +10:00
Aaron Jacobs ce41e1d0ec Updated an out of date comment. 2015-04-29 11:28:16 +10:00
Aaron Jacobs 6305cb930b Synchronize on ops in flight in tear-down, fixing forgetfs_test. 2015-04-02 11:10:55 +11:00
Aaron Jacobs 58e8a310aa Log responses and errors. 2015-03-24 15:59:19 +11:00
Aaron Jacobs 2720f50225 Print received requests. 2015-03-24 15:52:14 +11:00
Aaron Jacobs ab55e07aea Respond to statfs. 2015-03-24 15:51:36 +11:00
Aaron Jacobs c880ea6819 Implemented the rest of Connection. 2015-03-24 15:36:09 +11:00
Aaron Jacobs 210a91dd93 Updated mounted_file_system.go. 2015-03-24 15:34:50 +11:00
Aaron Jacobs 978bdd5faf Implemented Connection.ReadOp. 2015-03-24 15:26:02 +11:00
Aaron Jacobs be2f3fc73e Added a warning on Connection.ReadOp. 2015-03-24 15:23:19 +11:00
Aaron Jacobs 0252cb61e6 Defined Connection. 2015-03-24 15:19:42 +11:00