Commit Graph

69 Commits (8d4d89b65d938d36d29b8832afe66be371855b67)

Author SHA1 Message Date
Vitaliy Filippov efe41d860d Add READDIRPLUS support 2023-08-03 15:36:17 +03:00
Vitaliy Filippov caac53a719 Add notification ops and conversions 2023-03-23 19:00:51 +03:00
Vitaliy Filippov 0f0f6e3670 Add PollOp 2023-03-22 18:50:52 +03:00
Vitaliy Filippov 13117049f3
Fallback from BatchForgetOp to a series of ForgetInodeOp if unsupported (#126)
Co-authored-by: Vitaliy Filippov <vitalif@yourcmc.ru>
2022-07-02 11:18:25 +02:00
Doychin Atanasov 37d63df227
Add support for the FUSE_BATCH_FORGET operation (#123)
There are certain Kernel versions which do not send individual
Forget operations after they receive "not implemented" for Batch Forget.
One example is "5.4.0-110-generic" on Ubuntu 20.04. I am sure there are
plenty of others.

This leads to inode "leaks". Where reference counts are never decreased
and the inodes were left hanging around long after they are not needed
any more.

The best way to fix that was adding support for batch operations to the
lib. This way all users will be able to benefit from the batching
optimization.

Co-authored-by: Doychin Atanasov <doychin.atanasov@chaosgroup.com>
2022-05-27 08:49:15 +02: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
Arran Walker 5ee7049312 replace imports of "golang.org/x/net/context" with "context" 2018-02-07 19:18:23 +00:00
Srdjan Rilak 1b4a34cc7b Add CreateLink implementation 2017-11-24 14:36:15 +01: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
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 47638fa8c7 Added FileSystem support. 2015-12-14 23:35:40 +00:00
Aaron Jacobs df671c90c2 Fixed FileSystem.StatFS support. 2015-09-09 09:53:11 +10:00
Aaron Jacobs 4d5341f6ce Added FileSystem.StatFS. 2015-09-09 09:47:48 +10:00
Aaron Jacobs b0d206254f Fixed another dumb bug. 2015-07-29 10:20:53 +10:00
Aaron Jacobs 6d01ffa44f Replaced AppendDirent with WriteDirent. 2015-07-29 10:08:16 +10:00
Aaron Jacobs 522995296e Fixed package fuse. 2015-07-27 15:44:17 +10:00
Aaron Jacobs ea210ae2bb Fixed package fuseutil. 2015-07-27 15:15:07 +10:00
Aaron Jacobs f0f62136a7 Killed the stale random delays feature. 2015-07-16 10:55:38 +10:00
Aaron Jacobs 8ba8c0bf24 Oops, forgot fileSystemServer.handleOp. 2015-06-25 21:38:39 +10:00
Aaron Jacobs 723fcb1d3e Added FileSystem support. 2015-06-25 21:38:39 +10:00
Aaron Jacobs e4cd605c76 Updated package fuseutil. 2015-06-22 12:30:17 +10:00
Aaron Jacobs 0f62458e21 Destroy when done. 2015-06-09 11:11:52 +10:00
Aaron Jacobs 630f40de94 NotImplementedFileSystem.Destroy 2015-06-09 11:05:02 +10:00
Aaron Jacobs 6fff9f3f20 Added FileSystem.Destroy. 2015-06-09 11:05:02 +10:00
Aaron Jacobs 5ae9856c29 Define that Server.ServeOps must wait for in-flights. 2015-06-09 11:01:11 +10:00
Aaron Jacobs 100c7af28a Put a wait group in fileSystemServer. 2015-06-09 10:47:35 +10:00
Aaron Jacobs b791d33db0 Fixed fileSystemServer.handleOp. 2015-06-05 14:20:39 +10:00
Aaron Jacobs 78b00c64d9 Removed RespondToOp. 2015-06-05 14:19:30 +10:00
Aaron Jacobs 1573b41ff3 Fixed NotImplementedFileSystem. 2015-06-05 14:14:49 +10:00
Aaron Jacobs 48571ab6cb Updated the FileSystem interface. 2015-06-05 14:13:59 +10:00
Aaron Jacobs 05091dee19 Added file system support. 2015-05-19 16:06:57 +10:00
Aaron Jacobs f71fe97d5e Added file system support. 2015-05-19 15:33:19 +10:00
Aaron Jacobs dd0d1163f8 Improved the flag name. 2015-04-02 11:20:53 +11:00
Aaron Jacobs 02d14a685e Added a random delays feature for #8. 2015-04-02 11:19:56 +11:00
Aaron Jacobs 0461ddac4f Handle each op in its own goroutine. 2015-04-02 10:52:58 +11:00
Aaron Jacobs 4d06d8aef8 Updated NewFileSystemServer docs. 2015-04-02 10:50:44 +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 c1a851403d Added a RespondToOp helper. 2015-03-25 09:59:24 +11:00
Aaron Jacobs 6667a7f8f6 Fixed NotImplementedFileSystem. 2015-03-25 09:54:12 +11:00
Aaron Jacobs 93d1bc181f Don't return error from FileSystem methods. 2015-03-25 09:53:26 +11:00
Aaron Jacobs 2c0b99bdce Implemented NewFileSystemServer. 2015-03-25 09:24:44 +11:00
Aaron Jacobs 579e3f648e Added NotImplementedFileSystem methods. 2015-03-25 09:20:54 +11:00
Aaron Jacobs 485f5d64fc Declared NotImplementedFileSystem. 2015-03-25 09:17:58 +11:00
Aaron Jacobs 00809e98fe Added a FileSystem interface and declared a function that transforms it. 2015-03-25 09:16:03 +11:00
Aaron Jacobs ddee157432 Deleted NotImplementedFileSystem. 2015-03-24 15:37:12 +11:00
Aaron Jacobs 9b930cd8b5 Updated dirent.go. 2015-03-24 15:36:57 +11:00
Aaron Jacobs d3cb0c2ba9 NotImplementedFileSystem.SyncFile 2015-03-20 13:38:42 +11:00