Rename to fuse_io_context

This commit is contained in:
Martin Raiber 2020-11-08 18:02:12 +01:00
parent 55fdc0faec
commit b848118777
4 changed files with 39 additions and 39 deletions

View File

@ -1,7 +1,7 @@
ACLOCAL_AMFLAGS = -I m4
bin_PROGRAMS = fuseuring
fuseuring_SOURCES = fuse_io_service.cpp main.cpp fuseuring_main.cpp
fuseuring_SOURCES = fuse_io_context.cpp main.cpp fuseuring_main.cpp
fuseuring_LDADD = $(PTHREAD_LIBS) -luring
fuseuring_CXXFLAGS = $(PTHREAD_CFLAGS) -std=c++2a -D_FILE_OFFSET_BITS=64
@ -9,4 +9,4 @@ if WITH_FCOROUTINES
fuseuring_CXXFLAGS += -fcoroutines
endif
noinst_HEADERS = fuse_io_service.h fuseuring_main.h fuse_kernel.h
noinst_HEADERS = fuse_io_context.h fuseuring_main.h fuse_kernel.h

View File

@ -1,16 +1,16 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// Copyright (C) Martin Raiber
#include "fuse_io_service.h"
#include "fuse_io_context.h"
#include <liburing.h>
#include <iostream>
fuse_io_service::fuse_io_service(FuseRing fuse_ring)
fuse_io_context::fuse_io_context(FuseRing fuse_ring)
: fuse_ring(std::move(fuse_ring)), last_rc(0)
{
}
int fuse_io_service::fuseuring_handle_cqe(struct io_uring_cqe *cqe)
int fuse_io_context::fuseuring_handle_cqe(struct io_uring_cqe *cqe)
{
if(cqe->user_data==0)
{
@ -31,7 +31,7 @@ int fuse_io_service::fuseuring_handle_cqe(struct io_uring_cqe *cqe)
return 0;
}
int fuse_io_service::fuseuring_submit(bool block)
int fuse_io_context::fuseuring_submit(bool block)
{
if(fuse_ring.ring_submit)
{
@ -60,7 +60,7 @@ int fuse_io_service::fuseuring_submit(bool block)
return 0;
}
int fuse_io_service::run(queue_fuse_read_t queue_read)
int fuse_io_context::run(queue_fuse_read_t queue_read)
{
fuse_ring.ring_submit = false;
@ -98,7 +98,7 @@ int fuse_io_service::run(queue_fuse_read_t queue_read)
}
}
fuse_io_service::io_uring_task_discard<int> fuse_io_service::queue_read_set_rc(queue_fuse_read_t queue_read)
fuse_io_context::io_uring_task_discard<int> fuse_io_context::queue_read_set_rc(queue_fuse_read_t queue_read)
{
int rc = co_await queue_read(*this);
if(rc!=0)

View File

@ -30,7 +30,7 @@ static uint64_t handle_v(std::coroutine_handle<> p_awaiter)
return (uint64_t)*((uint64_t*)&p_awaiter);
}
struct fuse_io_service
struct fuse_io_context
{
template<typename T>
struct IoUringAwaiter
@ -321,7 +321,7 @@ struct fuse_io_service
struct FuseIoVal
{
FuseIoVal(fuse_io_service& io_service,
FuseIoVal(fuse_io_context& io_service,
std::unique_ptr<FuseIo> fuse_io)
: io_service(io_service),
fuse_io(std::move(fuse_io))
@ -345,7 +345,7 @@ struct fuse_io_service
}
private:
fuse_io_service& io_service;
fuse_io_context& io_service;
std::unique_ptr<FuseIo> fuse_io;
};
@ -374,13 +374,13 @@ struct fuse_io_service
FuseRing fuse_ring;
fuse_io_service(FuseRing fuse_ring);
fuse_io_service(fuse_io_service const&) = delete;
fuse_io_service(fuse_io_service&& other) = delete;
fuse_io_service& operator=(fuse_io_service&&) = delete;
fuse_io_service& operator=(fuse_io_service const&) = delete;
fuse_io_context(FuseRing fuse_ring);
fuse_io_context(fuse_io_context const&) = delete;
fuse_io_context(fuse_io_context&& other) = delete;
fuse_io_context& operator=(fuse_io_context&&) = delete;
fuse_io_context& operator=(fuse_io_context const&) = delete;
typedef fuse_io_service::io_uring_task<int> (*queue_fuse_read_t)(fuse_io_service& io);
typedef fuse_io_context::io_uring_task<int> (*queue_fuse_read_t)(fuse_io_context& io);
int run(queue_fuse_read_t queue_read);
@ -407,7 +407,7 @@ private:
}
};
fuse_io_service::io_uring_task_discard<int> queue_read_set_rc(queue_fuse_read_t queue_read);
fuse_io_context::io_uring_task_discard<int> queue_read_set_rc(queue_fuse_read_t queue_read);
int fuseuring_handle_cqe(struct io_uring_cqe *cqe);
int fuseuring_submit(bool block);

View File

@ -13,7 +13,7 @@
#include <memory.h>
#include <thread>
#include <iostream>
#include "fuse_io_service.h"
#include "fuse_io_context.h"
namespace
{
@ -32,7 +32,7 @@ namespace
}
}
[[nodiscard]] fuse_io_service::io_uring_task<char*> read_rbytes(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<char*> read_rbytes(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
size_t rbytes, bool add_zero, std::vector<char>& free_buf)
{
if(rbytes==0)
@ -83,7 +83,7 @@ namespace
}
}
[[nodiscard]] fuse_io_service::io_uring_task<int> send_reply(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io)
[[nodiscard]] fuse_io_context::io_uring_task<int> send_reply(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io)
{
struct io_uring_sqe *sqe;
sqe = io.get_sqe();
@ -117,7 +117,7 @@ namespace
}
}
[[nodiscard]] fuse_io_service::io_uring_task<int> send_reply(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> send_reply(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
const std::vector<char>& buf)
{
struct io_uring_sqe *sqe;
@ -153,7 +153,7 @@ namespace
}
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_unknown(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io)
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_unknown(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
fuse_out_header* out_header = reinterpret_cast<fuse_out_header*>(fuse_io->scratch_buf);
@ -165,7 +165,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> send_attr(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> send_attr(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
uint64_t unique, uint64_t nodeid)
{
fuse_out_header* out_header = reinterpret_cast<fuse_out_header*>(fuse_io->scratch_buf);
@ -201,7 +201,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_getattr(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_getattr(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -218,7 +218,7 @@ namespace
co_return co_await send_attr(io, fuse_io, fheader->unique, nodeid);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_setattr(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_setattr(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -239,7 +239,7 @@ namespace
co_return co_await send_attr(io, fuse_io, fheader->unique, nodeid);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_lookup(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_lookup(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -283,7 +283,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_opendir(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_opendir(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -303,7 +303,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_open(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_open(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -323,7 +323,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_read(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_read(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -411,7 +411,7 @@ namespace
co_return 0;
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_write(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_write(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -560,7 +560,7 @@ namespace
co_return 0;
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_releasedir(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_releasedir(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -576,7 +576,7 @@ namespace
co_return co_await send_reply(io, fuse_io);
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_release(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_release(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -607,7 +607,7 @@ void add_dir(std::vector<char>& buf, const std::string& name, size_t off, const
memset(dirent->name + name.size(), 0, bsize-FUSE_NAME_OFFSET-name.size());
}
[[nodiscard]] fuse_io_service::io_uring_task<int> handle_readdir(fuse_io_service& io, fuse_io_service::FuseIoVal& fuse_io,
[[nodiscard]] fuse_io_context::io_uring_task<int> handle_readdir(fuse_io_context& io, fuse_io_context::FuseIoVal& fuse_io,
char* rbytes_buf)
{
fuse_in_header* fheader = reinterpret_cast<fuse_in_header*>(fuse_io->header_buf);
@ -645,9 +645,9 @@ void add_dir(std::vector<char>& buf, const std::string& name, size_t off, const
co_return co_await send_reply(io, fuse_io, out_buf);
}
fuse_io_service::io_uring_task<int> queue_fuse_read(fuse_io_service& io)
fuse_io_context::io_uring_task<int> queue_fuse_read(fuse_io_context& io)
{
fuse_io_service::FuseIoVal fuse_io = io.get_fuse_io();
fuse_io_context::FuseIoVal fuse_io = io.get_fuse_io();
DBG_PRINT(std::cout << "queue_fuse_read" << std::endl);
struct io_uring_sqe *sqe1 = io.get_sqe();
@ -946,7 +946,7 @@ int fuseuring_main(int backing_fd, const std::string& mountpoint, int max_backgr
int fuse_fixed_fd = 0;
std::vector<struct iovec> reg_buffers;
fuse_io_service::FuseRing fuse_ring;
fuse_io_context::FuseRing fuse_ring;
fuse_ring.fd = fuse_fixed_fd;
fuse_ring.backing_fd = fixed_fds.size();
fixed_fds.push_back(backing_fd);
@ -974,7 +974,7 @@ int fuseuring_main(int backing_fd, const std::string& mountpoint, int max_backgr
for(size_t i=0;i<init_out.init_out.max_background;++i)
{
std::unique_ptr<fuse_io_service::FuseIo> new_io = std::make_unique<fuse_io_service::FuseIo>();
std::unique_ptr<fuse_io_context::FuseIo> new_io = std::make_unique<fuse_io_context::FuseIo>();
rc = pipe2(new_io->pipe, O_CLOEXEC|O_NONBLOCK);
if(rc!=0)
{
@ -1036,7 +1036,7 @@ int fuseuring_main(int backing_fd, const std::string& mountpoint, int max_backgr
fuse_ring.backing_f_size = bst.st_size;
std::cout << "Running..." << std::endl;
fuse_io_service service(std::move(fuse_ring));
fuse_io_context service(std::move(fuse_ring));
rc = service.run(queue_fuse_read);
io_uring_unregister_buffers(&fuse_uring);