mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 20:41:04 -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); }
|
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 {
|
ssize_t read(uint32_t inode, char* buf, size_t size, off_t offset) const {
|
||||||
return impl_->read(inode, buf, size, offset);
|
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 {
|
readv(uint32_t inode, iovec_read_buf& buf, size_t size, off_t offset) const {
|
||||||
return impl_->readv(inode, buf, size, offset);
|
return impl_->readv(inode, buf, size, offset);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
class impl {
|
class impl {
|
||||||
public:
|
public:
|
||||||
@ -136,12 +134,10 @@ class filesystem_v2 {
|
|||||||
readlink(entry_view entry) const = 0;
|
readlink(entry_view entry) const = 0;
|
||||||
virtual int statvfs(struct ::statvfs* stbuf) const = 0;
|
virtual int statvfs(struct ::statvfs* stbuf) const = 0;
|
||||||
virtual int open(entry_view entry) const = 0;
|
virtual int open(entry_view entry) const = 0;
|
||||||
#if 0
|
|
||||||
virtual ssize_t
|
virtual ssize_t
|
||||||
read(uint32_t inode, char* buf, size_t size, off_t offset) const = 0;
|
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,
|
virtual ssize_t readv(uint32_t inode, iovec_read_buf& buf, size_t size,
|
||||||
off_t offset) const = 0;
|
off_t offset) const = 0;
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -171,12 +171,10 @@ class filesystem_ : public filesystem_v2::impl {
|
|||||||
readlink(entry_view entry) const override;
|
readlink(entry_view entry) const override;
|
||||||
int statvfs(struct ::statvfs* stbuf) const override;
|
int statvfs(struct ::statvfs* stbuf) const override;
|
||||||
int open(entry_view entry) const override;
|
int open(entry_view entry) const override;
|
||||||
#if 0
|
|
||||||
ssize_t
|
ssize_t
|
||||||
read(uint32_t inode, char* buf, size_t size, off_t offset) const override;
|
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,
|
ssize_t readv(uint32_t inode, iovec_read_buf& buf, size_t size,
|
||||||
off_t offset) const override;
|
off_t offset) const override;
|
||||||
#endif
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
log_proxy<LoggerPolicy> log_;
|
log_proxy<LoggerPolicy> log_;
|
||||||
@ -310,23 +308,23 @@ int filesystem_<LoggerPolicy>::open(entry_view entry) const {
|
|||||||
return meta_.open(entry);
|
return meta_.open(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
template <typename LoggerPolicy>
|
template <typename LoggerPolicy>
|
||||||
ssize_t filesystem_<LoggerPolicy>::read(uint32_t inode, char* buf, size_t size,
|
ssize_t filesystem_<LoggerPolicy>::read(uint32_t inode, char* buf, size_t size,
|
||||||
off_t offset) const {
|
off_t offset) const {
|
||||||
size_t num = 0;
|
if (auto chunks = meta_.get_chunks(inode)) {
|
||||||
const chunk_type* chunk = meta_.get_chunks(inode, num);
|
return ir_.read(buf, size, offset, *chunks);
|
||||||
return ir_.read(buf, size, offset, chunk, num);
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename LoggerPolicy>
|
template <typename LoggerPolicy>
|
||||||
ssize_t filesystem_<LoggerPolicy>::readv(uint32_t inode, iovec_read_buf& buf,
|
ssize_t filesystem_<LoggerPolicy>::readv(uint32_t inode, iovec_read_buf& buf,
|
||||||
size_t size, off_t offset) const {
|
size_t size, off_t offset) const {
|
||||||
size_t num = 0;
|
if (auto chunks = meta_.get_chunks(inode)) {
|
||||||
const chunk_type* chunk = meta_.get_chunks(inode, num);
|
return ir_.readv(buf, size, offset, *chunks);
|
||||||
return ir_.readv(buf, size, offset, chunk, num);
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user