mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-07 19:41:54 -04:00
metadata_v2: finish filesystem_v2
This commit is contained in:
parent
43cc4c6e5e
commit
9c809294d3
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user