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.MaxReadahead = maxReadahead
|
||||
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)
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue