mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 06:14:58 +00:00
Reworked Inode to have a dirty bit and subclass-implemented flush_metadata().
This way we can defer disk writes as long as we like. There's no automatic flushing happening just yet.
This commit is contained in:
parent
d506c857ab
commit
1f44cd9dd9
11 changed files with 82 additions and 58 deletions
|
@ -143,7 +143,7 @@ ssize_t FileDescriptor::read(byte* buffer, size_t count)
|
|||
// FIXME: What should happen to m_currentOffset?
|
||||
return m_vnode->characterDevice()->read(buffer, count);
|
||||
}
|
||||
ssize_t nread = m_vnode->fileSystem()->read_inode_bytes(m_vnode->inode, m_current_offset, count, buffer, this);
|
||||
ssize_t nread = m_vnode->fs()->read_inode_bytes(m_vnode->inode, m_current_offset, count, buffer, this);
|
||||
m_current_offset += nread;
|
||||
return nread;
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ ByteBuffer FileDescriptor::read_entire_file()
|
|||
|
||||
if (m_vnode->core_inode())
|
||||
return m_vnode->core_inode()->read_entire(this);
|
||||
return m_vnode->fileSystem()->read_entire_inode(m_vnode->inode, this);
|
||||
return m_vnode->fs()->read_entire_inode(m_vnode->inode, this);
|
||||
}
|
||||
|
||||
bool FileDescriptor::is_directory() const
|
||||
|
@ -288,17 +288,3 @@ FileDescriptor::FileDescriptor(FIFO& fifo, FIFO::Direction direction)
|
|||
{
|
||||
m_fifo->open(direction);
|
||||
}
|
||||
|
||||
int FileDescriptor::set_atime_and_mtime(time_t atime, time_t mtime)
|
||||
{
|
||||
if (!m_vnode || !m_vnode->core_inode())
|
||||
return -EBADF;
|
||||
return m_vnode->core_inode()->set_atime_and_mtime(atime, mtime);
|
||||
}
|
||||
|
||||
int FileDescriptor::set_ctime(time_t ctime)
|
||||
{
|
||||
(void) ctime;
|
||||
// FIXME: Implement.
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue