metadata_v2: finish filesystem_v2

This commit is contained in:
Marcus Holland-Moritz 2020-11-27 19:41:32 +01:00
parent 43cc4c6e5e
commit 9c809294d3
2 changed files with 8 additions and 14 deletions

View File

@ -103,7 +103,6 @@ class filesystem_v2 {
int open(entry_view entry) const { return impl_->open(entry); }
#if 0
ssize_t read(uint32_t inode, char* buf, size_t size, off_t offset) const {
return impl_->read(inode, buf, size, offset);
}
@ -112,7 +111,6 @@ class filesystem_v2 {
readv(uint32_t inode, iovec_read_buf& buf, size_t size, off_t offset) const {
return impl_->readv(inode, buf, size, offset);
}
#endif
class impl {
public:
@ -136,12 +134,10 @@ class filesystem_v2 {
readlink(entry_view entry) const = 0;
virtual int statvfs(struct ::statvfs* stbuf) const = 0;
virtual int open(entry_view entry) const = 0;
#if 0
virtual ssize_t
read(uint32_t inode, char* buf, size_t size, off_t offset) const = 0;
virtual ssize_t readv(uint32_t inode, iovec_read_buf& buf, size_t size,
off_t offset) const = 0;
#endif
};
private:

View File

@ -171,12 +171,10 @@ class filesystem_ : public filesystem_v2::impl {
readlink(entry_view entry) const override;
int statvfs(struct ::statvfs* stbuf) const override;
int open(entry_view entry) const override;
#if 0
ssize_t
read(uint32_t inode, char* buf, size_t size, off_t offset) const override;
ssize_t readv(uint32_t inode, iovec_read_buf& buf, size_t size,
off_t offset) const override;
#endif
private:
log_proxy<LoggerPolicy> log_;
@ -310,23 +308,23 @@ int filesystem_<LoggerPolicy>::open(entry_view entry) const {
return meta_.open(entry);
}
#if 0
template <typename LoggerPolicy>
ssize_t filesystem_<LoggerPolicy>::read(uint32_t inode, char* buf, size_t size,
off_t offset) const {
size_t num = 0;
const chunk_type* chunk = meta_.get_chunks(inode, num);
return ir_.read(buf, size, offset, chunk, num);
if (auto chunks = meta_.get_chunks(inode)) {
return ir_.read(buf, size, offset, *chunks);
}
return -1;
}
template <typename LoggerPolicy>
ssize_t filesystem_<LoggerPolicy>::readv(uint32_t inode, iovec_read_buf& buf,
size_t size, off_t offset) const {
size_t num = 0;
const chunk_type* chunk = meta_.get_chunks(inode, num);
return ir_.readv(buf, size, offset, chunk, num);
if (auto chunks = meta_.get_chunks(inode)) {
return ir_.readv(buf, size, offset, *chunks);
}
return -1;
}
#endif
} // namespace