summaryrefslogtreecommitdiff
path: root/kernel/fs/ext2.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2023-11-15 02:43:03 +0100
committerAnton Kling <anton@kling.gg>2023-11-15 02:55:54 +0100
commit6747f9407a061684c2fba837541c254f48bfcff0 (patch)
treef4d323bb6569ce755ae6425488c211387849a2f7 /kernel/fs/ext2.c
parent6fc8ef497409f83201aa92094d725407861881e7 (diff)
VFS: Add stat
Diffstat (limited to 'kernel/fs/ext2.c')
-rw-r--r--kernel/fs/ext2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/fs/ext2.c b/kernel/fs/ext2.c
index 4398c8e..69de441 100644
--- a/kernel/fs/ext2.c
+++ b/kernel/fs/ext2.c
@@ -518,7 +518,9 @@ int ext2_stat(vfs_fd_t *fd, struct stat *buf) {
u8 buffer[inode_size];
inode_t *inode = (inode_t *)buffer;
ext2_get_inode_header(fd->inode->inode_num, inode);
- if (DIRECTORY == inode->types_permissions) {
+
+ buf->st_size = (u64)inode->low_32size | ((u64)inode->_upper_32size);
+ if (DIRECTORY & inode->types_permissions) {
buf->st_mode = STAT_DIR;
} else {
buf->st_mode = STAT_REG;