Enable async reads.
As best I can tell, this instructs the kernel not to synchronize on the completion of a read request before sending further requests. This definitely means further read requests, but I believe it means any sort of request as well. It appears to make a big difference to gcsfuse read support.geesefs-0-30-9
parent
0114453672
commit
3f954b3056
|
@ -158,7 +158,13 @@ func (c *Connection) Init() (err error) {
|
||||||
initOp.Library = c.protocol
|
initOp.Library = c.protocol
|
||||||
initOp.MaxReadahead = maxReadahead
|
initOp.MaxReadahead = maxReadahead
|
||||||
initOp.MaxWrite = buffer.MaxWriteSize
|
initOp.MaxWrite = buffer.MaxWriteSize
|
||||||
initOp.Flags = fusekernel.InitBigWrites
|
|
||||||
|
// Tell the kernel not to use pitifully small 4 KiB writes.
|
||||||
|
initOp.Flags |= fusekernel.InitBigWrites
|
||||||
|
|
||||||
|
// Tell the kernel it is free to send further requests while a read request
|
||||||
|
// is in flight.
|
||||||
|
initOp.Flags |= fusekernel.InitAsyncRead
|
||||||
|
|
||||||
c.Reply(ctx, nil)
|
c.Reply(ctx, nil)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue