Commit Graph

1491 Commits (c02e24f8cebac6093014cb15aec2077495751a56)

Author SHA1 Message Date
Aaron Jacobs dc1be2d5b8 Update documentation for Go style. 2017-01-03 10:47:18 +11:00
Aaron Jacobs 2642d571aa memfs_test: pass on Go 1.8 and above, too.
This was broken by golang/go@321c312d82.
2016-12-19 15:07:56 +11:00
Aaron Jacobs dfa49f5592 buffer: fix build issues on Go 1.8. 2016-12-19 14:43:05 +11:00
Aaron Jacobs cea04881bd buffer: generate decent code for OutMessage.Reset in Go 1.8 beta 2. 2016-12-19 14:41:59 +11:00
Aaron Jacobs bd496ea048 buffer: don't use memclr for the tiny header, whose size is known. 2016-12-19 13:58:09 +11:00
Aaron Jacobs 05b4591414 buffer: split runtime.s into pre- and post-Go 1.8 files.
Go 1.8 renamed this function; cf. golang/go@87e48c5.
2016-12-19 13:50:20 +11:00
Aaron Jacobs 641629d124 buffer: refactor to a form that won't require memclr.
Necessary because our evil memclr should go away.

Benchmarks:

    benchmark                                          old ns/op     new ns/op     delta
    BenchmarkOutMessageReset/Single_buffer-12          4.94          4.95          +0.20%
    BenchmarkOutMessageReset/Many_buffers-12           10.4          12.0          +15.38%
    BenchmarkOutMessageGrowShrink/Single_buffer-12     42861         47666         +11.21%
    BenchmarkOutMessageGrowShrink/Many_buffers-12      101896        100626        -1.25%

    benchmark                                          old MB/s     new MB/s     speedup
    BenchmarkOutMessageReset/Single_buffer-12          4853.85      4851.64      1.00x
    BenchmarkOutMessageReset/Many_buffers-12           2311.82      2006.72      0.87x
    BenchmarkOutMessageGrowShrink/Single_buffer-12     24464.39     21998.19     0.90x
    BenchmarkOutMessageGrowShrink/Many_buffers-12      10290.60     10420.48     1.01x
2016-12-19 13:20:08 +11:00
Aaron Jacobs 95e4d8b12e conversions.go: use the new buffer API. 2016-12-19 13:17:49 +11:00
Aaron Jacobs 0cd689f560 buffer: simplify storage of the header. 2016-12-19 13:14:54 +11:00
Aaron Jacobs d1ff915b0b OutMessage.OutHeader 2016-12-19 13:14:54 +11:00
Aaron Jacobs 849f53b080 OutMessage.ShrinkTo 2016-12-19 13:14:54 +11:00
Aaron Jacobs e03fa52bbf OutMessage.Grow 2016-12-19 13:14:54 +11:00
Aaron Jacobs d1ed507a5a OutMessage.GrowNoZero 2016-12-19 13:14:54 +11:00
Aaron Jacobs a7c1a1474a buffer_test: fix build errors. 2016-12-19 13:14:54 +11:00
Aaron Jacobs 0a22738acf OutMessage.Bytes 2016-12-19 13:14:21 +11:00
Aaron Jacobs 6f4af61734 buffer: consistently use 'm' for OutMessage receivers. 2016-12-19 13:14:21 +11:00
Aaron Jacobs 98a2b634bf OutMessage.Reset 2016-12-19 13:14:21 +11:00
Aaron Jacobs 9eb5e0793f buffer: define OutMessage's contents. 2016-12-19 13:14:21 +11:00
Aaron Jacobs 6e5247d16d buffer_test: make use of the new API. 2016-12-19 13:14:21 +11:00
Aaron Jacobs 0f6db15c59 buffer: give OutMessage's public API a makeover.
Use int where appropriate, fix up documentation, and clarify. Delete the
implementation where it will soon need to change.
2016-12-19 13:14:21 +11:00
Aaron Jacobs 10bc0e766c buffer_test: fix computation of the number of bytes cleared. 2016-12-19 13:14:05 +11:00
Aaron Jacobs 40b516328e buffer: expand test coverage.
In preparation for changing the public API.
2016-12-19 12:40:00 +11:00
Aaron Jacobs 06b9c19b5e TestOutMessageHeader 2016-12-19 12:38:58 +11:00
Aaron Jacobs 78a1450a77 TestOutMessageShrinkTo 2016-12-19 12:32:22 +11:00
Aaron Jacobs 39f1f7c489 TestOutMessageAppendString 2016-12-19 12:31:08 +11:00
Aaron Jacobs c1af0dbdee TestOutMessageAppend 2016-12-19 12:30:42 +11:00
Aaron Jacobs e7b9860f41 buffer_test: expand the coverage of TestOutMessageGrow. 2016-12-19 12:26:59 +11:00
Aaron Jacobs 02e3f7895c buffer_test: expand the coverage of TestOutMessageReset. 2016-12-19 12:20:27 +11:00
Aaron Jacobs f250e46e83 buffer_test: add TODOs where more test coverage is necessary. 2016-12-19 12:16:51 +11:00
Aaron Jacobs 102b1184fb buffer: add more tests.
At the level of the OutMessage API. In preparation for reworking its
implementation.
2016-12-19 11:46:53 +11:00
Aaron Jacobs ad65849346 Add a test for OutMessage.Grow. 2016-12-19 11:17:33 +11:00
Aaron Jacobs e329c0ef33 Add a test for OutMessage.Reset. 2016-12-19 11:17:33 +11:00
Aaron Jacobs e1a6f0e2d8 .travis.yml: require a modern version of Go.
For the sake of testing.T.Run.
2016-12-19 11:12:29 +11:00
Aaron Jacobs 2bb2916cf4 buffer: add tests and benchmarks.
In preparation for considering a switch away from the evil use of
runtime's internal memclr function.
2016-12-19 10:36:05 +11:00
Aaron Jacobs 72fc9c96ca Add a benchmark for growing and shrinking.
This should better stress memclr.
2016-12-19 10:35:20 +11:00
Aaron Jacobs b87ffb528b Fix a bug in BenchmarkOutMessageReset.
I misunderstood what was being zeroed. Only the header is.
2016-12-19 10:26:19 +11:00
Aaron Jacobs d31e0a4eae Add a test for memclr. 2016-12-19 10:19:29 +11:00
Aaron Jacobs 92e3407014 Add benchmarks for OutMessage.Reset. 2016-12-19 09:46:08 +11:00
Aaron Jacobs 3b8b4e55df Add support for osxfuse 3.
There are a few changes to tests and documentation to reflect changes to
osxfuse behavior. All of them should probably be seen as backwards
compatible. The tests now test the osxfuse 3 behavior, and for this
reason we should consider killing osxfuse 2 support after some time.

Closes #18.
Closes #19.
2016-10-16 09:14:47 +01:00
Aaron Jacobs a067b22c1d Fix issues around statfs(2) changes with osxfuse 3.
Tested on OS X 10.11.6 (15G1004) with osxfuse 3.5.2.
2016-10-16 09:12:42 +01:00
Aaron Jacobs b2c3396382 Update state around "close without msyc" behavior on OS X. 2016-10-16 08:56:51 +01:00
Aaron Jacobs d66bad8705 Unexport osxfuse-related code. 2016-10-16 08:56:48 +01:00
Aaron Jacobs 8b5caee575 Unexport OSXFUSEPaths. 2016-10-16 08:56:44 +01:00
Aaron Jacobs f1e482d155 Move osxfuse-specific config into mount_darwin.go. 2016-10-16 08:56:40 +01:00
Aaron Jacobs fc5bd98d65 Don't allow configurability for osxfuse paths.
There's no need to complicate the API. If osxfuse makes a
backwards-incompatible change again, we can add support for it.
2016-10-16 08:56:34 +01:00
Nemanja Zbiljić eadfaa0742 Support OSXFUSE 3.x, fall back to 2.x if needed
Also supports custom bundled OSXFUSE installs.
2016-09-25 18:07:29 +02:00
Aaron Jacobs 0b9db0a706 fuse: improve debug logging, including more inode and name info.
To aid in debugging GoogleCloudPlatform/gcsfuse#170.
2016-05-16 10:07:28 +10:00
Aaron Jacobs 652a72aae2 Return better errors from Mount, instead of dumping them to stderr.
For googlecloudplatform/gcsfuse#161.
2016-02-29 02:49:50 +00:00
Aaron Jacobs 2c0c70f477 Kill off silly fusermount screen scraping. 2016-02-29 02:47:56 +00:00
Aaron Jacobs 2e4cd6720b Add integration tests for mounting.
In particular TestNonEmptyMountPoint, which is currently failing on
Linux due to the poor error handling we inherited from bazil.org/fuse.
2016-02-29 02:45:24 +00:00