Skip to content
Snippets Groups Projects
Commit ac5175f9 authored by Thierry Strudel's avatar Thierry Strudel
Browse files

[DO NOT MERGE] Use FUSE_SHORTCIRCUIT if available

Use a non yet maintainer reviewed kernel patch from QCOM that greatly
improves IO speed in case it is available from the device specific
kernel headers.

Bug: 24216004
Change-Id: I4101d80082c9ad9d042dde5c620ddb309d193d52
parent 14b307fa
Branches
Tags
No related merge requests found
......@@ -1214,7 +1214,13 @@ static int handle_open(struct fuse* fuse, struct fuse_handler* handler,
}
out.fh = ptr_to_id(h);
out.open_flags = 0;
#ifdef FUSE_STACKED_IO
out.lower_fd = h->fd;
#else
out.padding = 0;
#endif
fuse_reply(fuse, hdr->unique, &out, sizeof(out));
return NO_STATUS;
}
......@@ -1378,7 +1384,13 @@ static int handle_opendir(struct fuse* fuse, struct fuse_handler* handler,
}
out.fh = ptr_to_id(h);
out.open_flags = 0;
#ifdef FUSE_STACKED_IO
out.lower_fd = -1;
#else
out.padding = 0;
#endif
fuse_reply(fuse, hdr->unique, &out, sizeof(out));
return NO_STATUS;
}
......@@ -1460,6 +1472,11 @@ static int handle_init(struct fuse* fuse, struct fuse_handler* handler,
out.major = FUSE_KERNEL_VERSION;
out.max_readahead = req->max_readahead;
out.flags = FUSE_ATOMIC_O_TRUNC | FUSE_BIG_WRITES;
#ifdef FUSE_STACKED_IO
out.flags |= FUSE_STACKED_IO;
#endif
out.max_background = 32;
out.congestion_threshold = 32;
out.max_write = MAX_WRITE;
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment