]> 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)
commitb01af5849b167ce1522ba8318ad9b1ce1f8cb516
tree231c2e908c39e30a7aba6fbeded1a349ec4eaafa
parent2c857234cfbaa00829b77961ebfa34e8050bab4a
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