]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
vfs: Fase 2 - block device abstraction and refcount
authorTulio A M Mendes <[email protected]>
Mon, 25 May 2026 16:24:15 +0000 (13:24 -0300)
committerTulio A M Mendes <[email protected]>
Wed, 3 Jun 2026 04:02:35 +0000 (01:02 -0300)
commit62c8f59bc18272d5eb7106813f95dcaeeb4b53f6
treef92276d4285524cde073beb291bec9cd51f0a7dc
parentbeae9b7ed06d3f18846ce0ab07294c98fe9cd70c
vfs: Fase 2 - block device abstraction and refcount

- Modified init_mount_fs to accept block_device_t* instead of int drive
- Updated sys_mount, init.c, kconsole.c to use blockdev_find instead of ata_name_to_drive
- Registered virtio-blk as block_device_t (/dev/vda) with blockdev ops wrappers
- Updated fat_mount and ext2_mount to accept block_device_t*
- Added refcount field to block_device_t
- Implemented blockdev_claim and blockdev_release
- Added bdev field to vfs_mount struct
- Integrated blockdev_claim/release in init_mount_fs and vfs_umount_nolock
- Updated vfs_mount_full and vfs_mount_nolock_full signatures to accept bdev
- Added blockdev.h include to fs.h
18 files changed:
include/blockdev.h
include/ext2.h
include/fat.h
include/fat16.h [deleted file]
include/fs.h
include/kernel/init.h
include/virtio_blk.h
src/drivers/virtio_blk.c
src/kernel/blockdev.c
src/kernel/ext2.c
src/kernel/fat.c
src/kernel/fs.c
src/kernel/init.c
src/kernel/kconsole.c
src/kernel/syscall.c
tests/smoke_test.exp
tests/test_battery.exp
user/cmds/fulltest/fulltest.c