Commit Graph

246 Commits (b6e2754edfa8ac864bd26efe8541ebf2ee6563eb)

Author SHA1 Message Date
Aaron Jacobs 88036b9232 CreateSymlinkOp 2015-07-24 12:51:28 +10:00
Aaron Jacobs bf11280dcd CreateFileOp 2015-07-24 12:51:28 +10:00
Aaron Jacobs 39b2936592 MkDirOp 2015-07-24 12:51:28 +10:00
Aaron Jacobs 091d0e967c ForgetInodeOp 2015-07-24 12:51:28 +10:00
Aaron Jacobs a30301af46 SetInodeAttributesOp 2015-07-24 12:51:27 +10:00
Aaron Jacobs 93a670bc8c GetInodeAttributesOp 2015-07-24 12:51:27 +10:00
Aaron Jacobs f70c00c1ed LookUpInodeOp 2015-07-24 12:51:27 +10:00
Aaron Jacobs 7fb5d10b11 Begin on Convert. 2015-07-24 12:51:27 +10:00
Aaron Jacobs 8a92167cc8 Updated the signature of fuseops.Convert. 2015-07-24 12:51:27 +10:00
Aaron Jacobs b8bf3cacb4 Fixed some build errors. 2015-07-24 09:42:43 +10:00
Aaron Jacobs 8e0cba22dd Unexported unused Flags fields. 2015-07-24 09:42:43 +10:00
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