Commit Graph

1473 Commits (84920d11ddb7480758788f6cbb7718d96eda95ae)

Author SHA1 Message Date
Michael Stapelberg fbd48a3771 fix/skip tests for Go 1.13
See https://golang.org/doc/go1.13#os for the corresponding change.
2019-09-16 18:43:37 +02:00
Michael Stapelberg 90d933551c fix formatting directives (to pass go test) 2019-09-16 18:28:45 +02:00
Michael Stapelberg bf89eeaf3e .travis.yml: upgrade to Go 1.13 2019-09-16 18:23:05 +02:00
Functionary Robot cd3959611b samples/memfs: fix errors found by vet 2018-04-17 15:43:21 +10:00
Aaron Jacobs 3b43406003
Merge pull request #39 from saracen/context
replace imports of "golang.org/x/net/context" with "context"
2018-02-08 06:26:42 +11:00
Arran Walker a43f6514bf .travis.yml: upgrade to Go 1.9.3. 2018-02-07 19:23:23 +00:00
Arran Walker 5ee7049312 replace imports of "golang.org/x/net/context" with "context" 2018-02-07 19:18:23 +00:00
Aaron Jacobs c4e473376f
Merge pull request #36 from sbg/feature/hard-links
Hard links implementation
2017-12-01 13:26:32 +11:00
Srdjan Rilak 4ee295e334 Add tests for hard link 2017-11-30 16:30:32 +01:00
Srdjan Rilak 1b4a34cc7b Add CreateLink implementation 2017-11-24 14:36:15 +01:00
Aaron Jacobs 88e3bc5ff0
Merge pull request #34 from inevity/mountsubtype
add fuse mount subtype to mountconfig
2017-11-03 15:29:20 +11:00
baul eba79bc989 add mount subtype documentation 2017-11-02 08:43:58 +08:00
baul 171218ed60 add fuse mount subtype to mountconfig 2017-11-01 18:17:45 +08:00
Ka-Hing Cheung 1ab97fb2eb handle forget inline instead of in goroutine
when we are under memory pressure, or echo 3 > /proc/sys/vm/drop_caches,
kernel can send us many forget ops at the same time if we have lots of
inodes in memory. Running them all in goroutines can lead to even more
memory usage and eventually OOM.
2017-10-11 07:44:47 +11:00
Aaron Jacobs fe7f3a55dc .travis.yml: enable macOS builds too. 2017-05-13 15:02:33 +10:00
Aaron Jacobs da343d6bf5 Add support for xattr ops.
Closes #21.
2017-05-12 13:02:16 +10:00
Aaron Jacobs 6770eccb1c memfs_test: touch up the style of xattr tests. 2017-05-12 12:59:01 +10:00
Ka-Hing Cheung 3eadae8418 use constants from upstream PR 2017-05-11 14:50:20 -07:00
Ka-Hing Cheung d650fe34ba added tests and enhanced comments 2017-05-11 14:45:40 -07:00
Ka-Hing Cheung cbeaa55087 SetXattr support 2017-05-11 14:45:40 -07:00
Ka-Hing Cheung d20c4665c1 GetXattr/ListXattr implementation 2017-05-11 14:45:40 -07:00
Ka-Hing Cheung 8aade5c71f RemoveXattr implementation 2017-05-11 14:45:40 -07:00
Aaron Jacobs 77e8f7f767 Add option for direct I/O.
See #25.
2017-05-09 07:47:52 +10:00
Aaron Jacobs df7caed6a7 dynamic_fs_test: run goimports and reflow text. 2017-05-09 07:47:28 +10:00
Aaron Jacobs 4fc546bdf9 dynamic_fs.go: reflow text. 2017-05-09 07:47:28 +10:00
Ben Sidhom 6a1014cd27 Enable StatFS on dynamicfs
MacOS apparently invokes StatFS on os.Lstat/os.Stat. Note that the
return fields are not actually populated here.
2017-05-09 07:47:28 +10:00
Ben Sidhom 8edb6e4462 Add integration test for direct-io filesystem 2017-05-09 07:47:28 +10:00
Ben Sidhom b289b8e423 Address doc comment. 2017-05-09 07:47:28 +10:00
Ben Sidhom 5f27f3f261 Add comment to read op semantics for direct io 2017-05-09 07:47:28 +10:00
Ben Sidhom 025868ecf2 Add direct io option for file operations 2017-05-09 07:47:28 +10:00
Aaron Jacobs bf33916294 .travis.yml: do away with Go tip. 2017-05-08 08:02:54 +10:00
Aaron Jacobs 6e112b67be .travis.yml: upgrade to Go 1.8.1. 2017-05-08 07:49:31 +10:00
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