Oliver Le Zhuang
8da59ba998
InMessage is initialized with a storage allocated before reads ( #110 )
...
Fixes #109 . In #102 , the storage of the InMessage gets allocated every
time it's being read, which is expensive and caused issues like
https://github.com/GoogleCloudPlatform/gcsfuse/issues/563 . So, this
change moves the allocation to its own function, called only once when
the struct is initialized before the reads.
2021-10-28 23:41:51 +02:00
Andrew Gaul
7782064498
Calculate pageSize and bufSize at run-time ( #102 )
...
ARM-based macOS uses 16 KB pages instead of 4 KB. Fixes
GoogleCloudPlatform/gcsfuse#548 .
2021-08-11 21:31:10 +02:00
Kurt Jensen
d82237972e
Add support for max_pages and increase to 256 ( #96 )
...
* Bump protocol version to min 7.28, max 7.31
* Increase read/write buffer size to 1MiB
* Add new fields to initOp
* Set FUSE_MAX_PAGES flag for init
* Lower min minor version to 19 for osxfuse
* Fix linux WriteSize test
2021-08-02 23:29:12 +02:00
Michael Stapelberg
0630024b2b
switch from assembly stubs to go:linkname comment
...
The go:linkname way works with Go 1.17 (with regabi), too.
Upstream did this in 2015 in
0b8d583320
See also https://sitano.github.io/2016/04/28/golang-private/ for more background
about both techniques.
2021-08-02 09:34:49 +02:00
Brendan McMillion
1ec76bd410
Add ARM support. ( #85 )
2020-06-26 07:45:43 +02:00
Michael Stapelberg
2f65426467
implement NoOpenSupport and NoOpendirSupport
...
See also:
7678ac5061
d7afaec0b5
d9a9ea94f7
2020-02-15 08:31:54 +01:00
Michael Stapelberg
7c2b569250
implement symlink caching
2020-02-15 08:04:53 +01:00
Michael Stapelberg
ae5da07e4c
remove naked returns across the code base ( #75 )
...
fixes #73
2020-01-28 10:10:08 +01:00
Ka-Hing Cheung
4ee1cf7f62
add support for fallocate ( #66 )
...
* Fallocate support
* use fallocate wrapper that works on darwin
2019-10-26 10:15:00 +02:00
Michael Stapelberg
90d933551c
fix formatting directives (to pass go test)
2019-09-16 18:28:45 +02:00
Ka-Hing Cheung
d20c4665c1
GetXattr/ListXattr implementation
2017-05-11 14:45:40 -07: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
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
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
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
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
81de9fb6cc
Made the message shrinking API less confusing.
2015-08-10 15:45:46 +10:00
Aaron Jacobs
bbb262ee48
Read directly into out messages for files.
2015-07-29 11:02:29 +10:00
Aaron Jacobs
240465913f
Fixed the build on Linux.
2015-07-28 16:31:59 +10:00
Aaron Jacobs
a1fc133e32
Finished OutMessage.
2015-07-28 16:29:30 +10:00
Aaron Jacobs
a25c297e41
OutMessage.AppendString
2015-07-28 16:29:09 +10:00
Aaron Jacobs
bb88db68e0
OutMessage.Append
2015-07-28 16:28:21 +10:00
Aaron Jacobs
75e2706a4b
Renamed two files.
2015-07-28 16:26:42 +10:00
Aaron Jacobs
e2aa0ec1be
OutMessage.GrowNoZero
2015-07-28 16:24:45 +10:00
Aaron Jacobs
9a55ffcd7d
OutMessage.Grow
2015-07-28 16:23:59 +10:00
Aaron Jacobs
2e3cba1928
OutMessage.OutHeader
2015-07-28 16:23:34 +10:00