summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--netfs/fuse/fuseFiles.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/netfs/fuse/fuseFiles.cpp b/netfs/fuse/fuseFiles.cpp
index 61f965a..c5f2314 100644
--- a/netfs/fuse/fuseFiles.cpp
+++ b/netfs/fuse/fuseFiles.cpp
@@ -189,7 +189,6 @@ namespace NetFS {
{
try {
using BackgroundOps = std::vector<std::unique_ptr<std::promise<int>>>;
- using BackgroundFuncs = std::vector<std::function<void()>>;
auto cpy = [buf](off_t blockOffset, const auto && data) -> int {
std::copy(data.begin(), data.end(), buf + blockOffset);
return safe {data.size()};
@@ -203,13 +202,11 @@ namespace NetFS {
auto remote = openFile->remote;
auto blockSizes = openFile->blockSizes(size);
if (fcr->Async) {
- BackgroundFuncs fs;
BackgroundOps ops;
blockSizeIterate(blockSizes,
- [&ops, &fs, &offset, &openFile, &remote, blockOffset = 0U, &cpy](
- safe<size_t> blockSize) mutable {
+ [&ops, &offset, &openFile, &remote, blockOffset = 0U, &cpy](safe<size_t> blockSize) mutable {
const auto p = appendNewDefault(ops);
- fs.push_back(waitOnWriteRangeAndThen(blockSize, offset, openFile,
+ waitOnWriteRangeAndThen(blockSize, offset, openFile,
[p, offset, blockOffset, blockSize, &remote, &cpy](const auto &) {
return remote->readAsync(
offset, blockSize,
@@ -220,26 +217,25 @@ namespace NetFS {
[p](auto error) {
p->set_exception(std::move(error));
});
- }));
+ });
offset += blockSize;
blockOffset += blockSize;
});
return collateTotal(ops);
}
if (openFile->bodyMaxSize < size) {
- BackgroundFuncs fs;
BackgroundOps ops;
- blockSizeIterate(blockSizes,
- [&offset, &remote, blockOffset = 0U, &ops, &fs, &cpy](safe<size_t> blockSize) mutable {
+ blockSizeIterate(
+ blockSizes, [&offset, &remote, blockOffset = 0U, &ops, &cpy](safe<size_t> blockSize) mutable {
const auto p = appendNewDefault(ops);
- fs.push_back(remote->readAsync(
+ remote->readAsync(
offset, blockSize,
[cpy, p, blockOffset](auto && resultBuf) {
p->set_value(cpy(blockOffset, std::forward<Ice::ByteSeq>(resultBuf)));
},
[p](auto error) {
p->set_exception(std::move(error));
- }));
+ });
offset += blockSize;
blockOffset += blockSize;
});