Aaron Jacobs
4dc22ba2e7
Use package fuseshim in package fuseops.
2015-07-24 09:42:42 +10:00
Aaron Jacobs
e6f7fe6013
Killed fuseops.OpHeader.
2015-07-24 09:38:40 +10:00
Aaron Jacobs
591350f2c6
Fixed duplicate package documentation.
2015-07-24 09:35:14 +10:00
Aaron Jacobs
894e5ffba2
Fill in bfReq fields.
2015-07-22 22:27:48 +10:00
Aaron Jacobs
422fe4db37
Implemented respond methods.
2015-07-22 22:26:58 +10:00
Aaron Jacobs
2c1ba6d729
LookUpInodeOp.respond
2015-07-22 22:23:47 +10:00
Aaron Jacobs
2366f698e2
Added bfReq members.
2015-07-22 22:23:11 +10:00
Aaron Jacobs
aff2fc2f9e
Ripped out the toBazilfuseResponse logic from commonOp.
2015-07-22 22:19:49 +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
4b1e4b55f9
Embed the bazilfuse response object within ReadFileOp.
...
This saves an allocation that is very much on the hot path in a
read-heavy load.
2015-07-22 21:32:10 +10:00
Aaron Jacobs
c42ea09940
Update a reference to the now-gone flag.
2015-07-16 10:48:50 +10:00
Aaron Jacobs
b6588a6d41
Added documentation for RenameOp.
2015-06-25 22:13:45 +10:00
Aaron Jacobs
515cdb41a8
Fixed a bug in memfs renaming.
2015-06-25 22:01:56 +10:00
Aaron Jacobs
4008a44fb6
Added another TODO.
2015-06-25 21:38:39 +10:00
Aaron Jacobs
9406c5bc29
Added more test names and TODOs.
2015-06-25 21:38:39 +10:00
Aaron Jacobs
eeb412d406
Fixed a bug.
2015-06-25 21:38:39 +10:00
Aaron Jacobs
b121025b48
Added Convert support.
2015-06-25 21:38:39 +10:00
Aaron Jacobs
feb41dddfa
Defined RenameOp.
2015-06-25 21:38:38 +10:00
Aaron Jacobs
91a3b44294
Improve error log output for unknown operations.
...
Previously:
(unknown(inode=1)) error: function not implemented
Now:
(*bazilfuse.GetxattrRequest(inode=1)) error: function not implemented
For GoogleCloudPlatform/gcsfuse#76 .
2015-06-22 12:40:40 +10:00
Aaron Jacobs
11eadaed84
Removed InitOp.
2015-06-22 12:29:52 +10:00
Aaron Jacobs
119f9a18ce
Changed the guidance for dealing with lookup counts at unmount time.
2015-06-09 11:04:26 +10:00
Aaron Jacobs
32fbc7f9e7
Fixed build errors.
...
Caused by jacobsa/bazilfuse@47700022b9 .
2015-06-05 15:24:22 +10:00
Aaron Jacobs
f650aab183
Updated fuseops.Convert.
2015-05-25 14:16:19 +10:00
Aaron Jacobs
41f376af5f
Added commonOp.errorLogger.
2015-05-25 14:15:49 +10:00
Aaron Jacobs
e0db5cf622
Renamed existing debug logging functions.
2015-05-25 14:13:24 +10:00
Aaron Jacobs
bd4af3f5a5
Updated advice on create, symlink, and mkdir.
2015-05-21 15:30:08 +10:00
Aaron Jacobs
a6e14f1878
Fixed a bug.
2015-05-19 16:08:13 +10:00
Aaron Jacobs
aa6498ca1b
Added convert support.
2015-05-19 16:05:54 +10:00
Aaron Jacobs
83baabeaf5
Added ReadSymlinkOp.
2015-05-19 16:05:01 +10:00
Aaron Jacobs
32c4d03ad1
Clarify that UnlinkOp applies to directories, too.
2015-05-19 16:02:20 +10:00
Aaron Jacobs
e9a77cf27d
Added Convert support.
2015-05-19 15:34:14 +10:00
Aaron Jacobs
16155913c4
Added CreateSymlinkOp.
2015-05-19 15:31:53 +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
a9b17361e8
Fixed a context propagation bug.
2015-05-05 14:49:59 +10:00
Aaron Jacobs
fe90f319b3
Fixed a bug in handling of an unknown op type.
2015-05-05 12:40:37 +10:00
Aaron Jacobs
0c8f9cece8
Fix another osxfuse request ID reuse bug.
2015-05-05 11:47:05 +10:00
Aaron Jacobs
025ddafef1
Updated Convert.
2015-05-05 10:32:57 +10:00
Aaron Jacobs
02983fd557
Added unknownOp.
2015-05-05 10:32:22 +10:00
Aaron Jacobs
2cde92d5de
Defined new contract.
2015-05-05 10:29:48 +10:00
Aaron Jacobs
bc6e09f86f
toBazilfuseResponse methods.
2015-05-05 10:27:24 +10:00
Aaron Jacobs
bc476921d5
Set bfResp.
2015-05-05 10:26:34 +10:00
Aaron Jacobs
2aed770c32
commonOp.Respond
2015-05-05 10:25:25 +10:00
Aaron Jacobs
9167630de5
Renamed methods.
2015-05-05 10:23:37 +10:00
Aaron Jacobs
daa69251d1
Killed branches on err.
2015-05-05 10:22:46 +10:00
Aaron Jacobs
ee8c1f0357
Use internalOp.
2015-05-05 10:21:21 +10:00
Aaron Jacobs
6c38037b11
Defined internalOp.
2015-05-05 10:20:03 +10:00
Aaron Jacobs
737ebd1e1f
Fixed a livelock.
2015-05-05 10:07:34 +10:00
Aaron Jacobs
4f1efbe41b
Removed a bunch of boilerplate.
2015-05-05 10:01:17 +10:00
Aaron Jacobs
66dad039d2
Convert
2015-05-05 10:00:18 +10:00
Aaron Jacobs
e6656ea87f
Use a better name.
2015-05-05 09:59:14 +10:00
Aaron Jacobs
54b3ccc86a
commonOp.respond
2015-05-05 09:58:18 +10:00
Aaron Jacobs
06b6ec27f5
commonOp.respondErr
2015-05-05 09:57:41 +10:00
Aaron Jacobs
ea5acc6f08
commonOp.init
2015-05-05 09:56:49 +10:00
Aaron Jacobs
ccde3b5ce3
Clarify concurrency of Respond.
2015-05-05 09:53:21 +10:00
Aaron Jacobs
c0477fd859
Reorganized the contents of commonOp.
2015-05-05 09:52:25 +10:00
Aaron Jacobs
29cee3d64c
Fixed an out of date comment.
2015-05-05 09:48:16 +10:00
Aaron Jacobs
93de940966
Added some vanity op descriptions.
2015-05-01 12:38:03 +10:00
Aaron Jacobs
2dda1a5ea9
Include the object inode by default.
2015-05-01 12:28:25 +10:00
Aaron Jacobs
d31b0cbd81
Refactored op descriptions again.
2015-05-01 12:24:36 +10:00
Aaron Jacobs
6868642c96
Expanded description of PID spans.
2015-05-01 12:21:22 +10:00
Aaron Jacobs
6679631689
Refactored how op descriptions work.
2015-05-01 12:21:06 +10:00
Aaron Jacobs
a7de8c87e8
Made commonOp a bit less opaque.
2015-05-01 11:57:37 +10:00
Aaron Jacobs
81d5dff5be
Handle permission errors.
2015-05-01 11:55:13 +10:00
Aaron Jacobs
6eb7b7b7ac
reportWhenPIDGone
2015-05-01 11:49:25 +10:00
Aaron Jacobs
572491fea4
commonOp.maybeTraceByPID
2015-05-01 11:43:46 +10:00
Aaron Jacobs
2783a71629
Renamed the feature.
2015-05-01 11:35:46 +10:00
Aaron Jacobs
2948c349e2
Added a flag for per-PID tracing.
2015-05-01 11:34:52 +10:00
Aaron Jacobs
3a1fc0ea46
Make op descriptions nicer.
2015-05-01 11:24:05 +10:00
Aaron Jacobs
91346a5af6
Fixed a panic.
2015-05-01 11:18:18 +10:00
Aaron Jacobs
0985694a4b
Allow setting a parent context for all ops.
2015-05-01 11:17:15 +10:00
Aaron Jacobs
18af108bac
Added reqtrace spans for fuse ops.
2015-05-01 11:04:57 +10:00
Aaron Jacobs
cf9ed934d5
Added a hook for fixing op type descriptions.
2015-05-01 11:02:39 +10:00
Aaron Jacobs
63490e89bc
Use the common response helper.
2015-05-01 11:00:12 +10:00
Aaron Jacobs
7a82927f63
commonOp.respond
2015-05-01 10:57:49 +10:00
Aaron Jacobs
d599dcd23a
Split up convert.go a bit.
2015-05-01 10:49:50 +10:00
Aaron Jacobs
c2e9acdd0a
Made built-in fuse logging less verbose.
2015-04-29 12:09:39 +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
380eba1dd5
Added a simple Logf implementation. To be improved.
2015-04-29 11:28:35 +10:00
Aaron Jacobs
dbbb61ad10
Added a LogF method to Op.
2015-04-29 11:28:34 +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
7ed1d0689d
Updated documentation in light of the investigation in issue #8 .
2015-04-02 10:45:38 +11:00
Aaron Jacobs
3de0df2676
Added a note about serialization on SyncFileOp too.
2015-04-01 11:34:33 +11:00
Aaron Jacobs
db2100ecbb
Added some code investigation about fuse_flush not waiting for writes.
...
While I'm thinking about GoogleCloudPlatform/gcsfuse#23 .
2015-04-01 11:29:32 +11:00
Aaron Jacobs
6b4a733e56
Added a citation.
2015-03-31 15:59:26 +11:00
Aaron Jacobs
2dd919f8f3
Fixed misspecification of forget behavior for the root inode.
2015-03-31 15:25:20 +11:00
Aaron Jacobs
9719d57fb6
Added connection support for ForgetInodeOp.
2015-03-31 09:58:43 +11:00
Aaron Jacobs
ee2040958c
The root inode ends with a lookup count of one, too.
2015-03-31 09:53:39 +11:00
Aaron Jacobs
36d7193638
Added a note about nlookup for the root inode.
...
For #7 .
2015-03-30 16:35:17 +11:00
Aaron Jacobs
06bacc17a3
Documented the responses that increment the lookup count.
2015-03-30 15:59:41 +11:00
Aaron Jacobs
a44e5edb46
Added more info on nlookup incrementing.
2015-03-30 15:54:44 +11:00
Aaron Jacobs
bc03335bb2
Added additional field and better documentation for ForgetInodeOp.
2015-03-30 15:53:15 +11:00
Aaron Jacobs
f0d9fada95
Fixed InitResponse logging.
2015-03-26 16:26:35 +11:00
Aaron Jacobs
ee7b064667
While I'm at it, also enable large reads.
...
For googlecloudplatform/gcsfuse#27 .
2015-03-26 16:25:01 +11:00
Aaron Jacobs
5dbc3bcd61
Ask for large writes from the kernel.
...
For googlecloudplatform/gcsfuse#27 .
2015-03-26 16:10:07 +11:00
Aaron Jacobs
2222e8d053
Specify that errors from Release{File,Dir}Handle ops are ignored.
...
Fixes #6 .
2015-03-25 11:08:04 +11:00
Aaron Jacobs
bc5f2bac2d
Fixed SetInodeAttributesOp conversion.
2015-03-24 16:32:12 +11:00
Aaron Jacobs
48f58d3d69
Fixed MkDirOp.Respond.
2015-03-24 16:29:13 +11:00
Aaron Jacobs
fb40c200a9
Fixed a panic.
2015-03-24 16:02:40 +11:00
Aaron Jacobs
77ad10c518
Fixed response output.
2015-03-24 16:01:53 +11:00
Aaron Jacobs
58e8a310aa
Log responses and errors.
2015-03-24 15:59:19 +11:00
Aaron Jacobs
a6638727cc
Fixed a silly bug.
2015-03-24 15:48:18 +11:00
Aaron Jacobs
0252cb61e6
Defined Connection.
2015-03-24 15:19:42 +11:00
Aaron Jacobs
9952c9b462
Finished Respond methods.
2015-03-24 15:06:20 +11:00
Aaron Jacobs
630d02e199
More Respond methods.
2015-03-24 15:02:27 +11:00
Aaron Jacobs
ccca7bbf35
GetInodeAttributesOp.Respond
2015-03-24 15:00:59 +11:00
Aaron Jacobs
9e25c19f66
LookUpInodeOp.Respond
2015-03-24 15:00:05 +11:00
Aaron Jacobs
537c4c3e06
Convert other types.
2015-03-24 14:56:41 +11:00
Aaron Jacobs
505033377d
Handle RemoveRequest.
2015-03-24 14:51:07 +11:00
Aaron Jacobs
fe76354f67
Filled in more ops.
2015-03-24 14:50:17 +11:00
Aaron Jacobs
e21d3254d4
Filled in more ops.
2015-03-24 14:49:27 +11:00
Aaron Jacobs
1cfd10be87
Filled in LookUpInodeOp.
2015-03-24 14:48:42 +11:00
Aaron Jacobs
2167bec8a2
Fixed switch cases.
2015-03-24 14:48:19 +11:00
Aaron Jacobs
ec64b2561c
Added helpful TODOs.
2015-03-24 14:46:31 +11:00
Aaron Jacobs
aba4e37d40
Made everything an op.
2015-03-24 14:45:35 +11:00
Aaron Jacobs
2dfd8be146
Changed the contract.
2015-03-24 14:41:51 +11:00
Aaron Jacobs
2a6cbb7bd3
Added stubs for all types.
2015-03-24 14:40:58 +11:00
Aaron Jacobs
18d288f1d9
Implemented the default case.
2015-03-24 14:38:57 +11:00
Aaron Jacobs
e4d3d0aa56
Implemented missing functions.
2015-03-24 14:38:18 +11:00
Aaron Jacobs
73732d4425
Refactored and started on Convert.
2015-03-24 14:36:44 +11:00
Aaron Jacobs
28f009d41b
Declared a conversion interface.
2015-03-24 14:24:00 +11:00
Aaron Jacobs
bbc33f6317
Defined the Op interface.
2015-03-24 14:21:55 +11:00
Aaron Jacobs
d611ddfab0
Fixed build errors.
2015-03-24 14:18:01 +11:00
Aaron Jacobs
9aff9a66a8
Finished porting methods.
2015-03-24 14:17:30 +11:00
Aaron Jacobs
680eaa899d
Ported more methods.
2015-03-24 14:16:59 +11:00
Aaron Jacobs
f4c58fac66
Ported more methods.
2015-03-24 14:15:33 +11:00
Aaron Jacobs
e930166b68
Ported two more methods.
2015-03-24 14:13:59 +11:00
Aaron Jacobs
5203b8289a
Ported two more methods.
2015-03-24 14:13:28 +11:00
Aaron Jacobs
39c6e2e5ce
Ported LookUpInode.
2015-03-24 14:12:10 +11:00
Aaron Jacobs
9d282740dd
Ported Init.
2015-03-24 14:11:28 +11:00
Aaron Jacobs
d43618adec
Refined a bunch of wording.
2015-03-24 14:11:07 +11:00
Aaron Jacobs
d84933bedf
Moved "simple types" to a separate file.
2015-03-24 14:05:56 +11:00
Aaron Jacobs
386855c559
Carved up FileSystem.
2015-03-24 14:02:10 +11:00
Aaron Jacobs
8e746f35b5
Updated the package statement.
2015-03-24 13:58:25 +11:00
Aaron Jacobs
84559e6234
Copied and pasted from file_system.go.
2015-03-24 13:57:43 +11:00