]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
refactor: remove namespace callbacks from struct file_operations
authorTulio A M Mendes <[email protected]>
Sat, 14 Feb 2026 03:24:52 +0000 (00:24 -0300)
committerTulio A M Mendes <[email protected]>
Sat, 14 Feb 2026 03:24:52 +0000 (00:24 -0300)
commit6c60d13bbf884d648406a573e611763fea682119
tree36f11687e2b5d42cb0fe9427f55cb67cd6770ff1
parent132760e30c4077af550ec676da394bee5d1aa9fc
refactor: remove namespace callbacks from struct file_operations

Complete the file_operations / inode_operations separation:

- fs.h: struct file_operations now contains only per-fd I/O ops:
  read, write, open, close, ioctl, mmap, poll
- fs.h: struct inode_operations exclusively owns namespace/metadata:
  lookup, readdir, create, mkdir, unlink, rmdir, rename, truncate, link
- Migrated ext2 and initrd (missed in previous commits)
- Removed all f_ops fallback paths in fs.c, syscall.c, overlayfs.c,
  kconsole.c — everything now uses i_ops for namespace operations
- Clean separation: file_operations = fd I/O, inode_operations = namespace

All FSes migrated: diskfs, devfs, procfs, tmpfs, overlayfs, persistfs,
pty, fat, ext2, initrd.

cppcheck clean, 20/20 smoke tests pass.
include/fs.h
src/drivers/initrd.c
src/kernel/ext2.c
src/kernel/fs.c
src/kernel/kconsole.c
src/kernel/overlayfs.c
src/kernel/syscall.c