Ka-Hing Cheung
4898d79241
plumb through Fd in setattr ( #67 )
...
this allows us to distinguish between truncate vs ftruncate
2019-12-11 09:49:03 +01:00
Ka-Hing Cheung
e7bcad2083
fix getxattr and listxattr ( #72 )
...
previously, this will fail if /mnt/file doesn't have an xattr:
```
listxattr("/mnt/file", 0x7fe8b3686830, 256) = -1 EIO (Input/output error)
```
We should be returning the actual size only if the input size is
zero. Related issue is if the filesystem returns ERANGE, we should
propagate that error instead of returning the actual size.
Replaced go-xattr usage with x/sys/unix so we can test this.
2019-12-11 09:41:37 +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
081e9f4bc7
Merge pull request #59 from stapelberg/mount
...
try mounting without fusermount(1) first
2019-09-23 17:54:23 +02:00
Michael Stapelberg
53aac50a1c
open /dev/fuse in blocking mode so the runtime does not use a poller
...
/dev/fuse is not pollable. Go ≥ 1.13 starts reporting this on Read().
2019-09-19 08:50:12 +02:00
Michael Stapelberg
b71377f287
try mounting without fusermount(1) first
...
This requires root privileges or the CAP_SYS_ADMIN capability, but allows
supporting -o suid.
2019-09-19 08:50:12 +02:00
Michael Stapelberg
659cc51b20
convertAttributes: set S_ISUD bit from os.FileMode’s os.ModeSetuid ( #58 )
2019-09-19 08:49:04 +02:00
Michael Stapelberg
cd3c1bb470
flush_fs_test: match another error message
2019-09-18 16:27:50 +02:00
Michael Stapelberg
3c60dc478a
.travis.yml: pin to macOS 10.12
2019-09-18 16:16:40 +02:00
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