From 1d318a0e3c31a437def4c5433471728109abf463 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 24 Aug 2016 17:08:19 -0700 Subject: [PATCH] Add AsyncDIO as mount option AsyncDIO enables multiple outstanding read/write requests for the same handle. It required the file to be opened with O_DIRECT, and fuse.OpenDirectIO flag must not be set for this to take effect. --- options.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/options.go b/options.go index 65ce8a54..d70a4bd0 100644 --- a/options.go +++ b/options.go @@ -235,6 +235,16 @@ func AsyncRead() MountOption { } } +// AsyncDIO enables multiple outstanding read/write requests for the same +// handle. It required the file to be opened with O_DIRECT, and +// fuse.OpenDirectIO flag must not be set for this to take effect +func AsyncDIO() MountOption { + return func(conf *mountConfig) error { + conf.initFlags |= InitAsyncDIO + return nil + } +} + // WritebackCache enables the kernel to buffer writes before sending // them to the FUSE server. Without this, writethrough caching is // used.