From ca92a0e6a8d38640c73ae06799eedbd6a85b5044 Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Fri, 5 Sep 2025 15:10:25 +0200 Subject: [PATCH] Remove VFS object reference counting --- kernel/fs/portlfs/portlfs.c | 1 - kernel/vfs/vfs.c | 8 +------- kernel/vfs/vfs.h | 1 - ulib/libulib.a | Bin 6568 -> 6568 bytes 4 files changed, 1 insertion(+), 9 deletions(-) diff --git a/kernel/fs/portlfs/portlfs.c b/kernel/fs/portlfs/portlfs.c index 7899410..a789c51 100644 --- a/kernel/fs/portlfs/portlfs.c +++ b/kernel/fs/portlfs/portlfs.c @@ -74,7 +74,6 @@ struct VfsObj *littlefs_open(struct VfsMountPoint *vmp, const char *path, uint32 } hal_memset(vobj, 0, sizeof(*vobj)); spinlock_init(&vobj->spinlock); - vobj->refs++; int lfs_flags = 0; lfs_file_t *file = dlmalloc(sizeof(*file)); diff --git a/kernel/vfs/vfs.c b/kernel/vfs/vfs.c index c077bfa..a275c07 100644 --- a/kernel/vfs/vfs.c +++ b/kernel/vfs/vfs.c @@ -107,13 +107,7 @@ VfsObj *vfs_open(char *mountpoint, const char *path, uint32_t flags) { } void vfs_close(VfsObj *vobj) { - if (vobj->refs < 0) { - return; - } - vobj->refs--; - if (vobj->refs == 0) { - vobj->cleanup(vobj); - } + vobj->cleanup(vobj); } void vfs_init(void) { diff --git a/kernel/vfs/vfs.h b/kernel/vfs/vfs.h index 3d8c00b..990e0b9 100644 --- a/kernel/vfs/vfs.h +++ b/kernel/vfs/vfs.h @@ -39,7 +39,6 @@ typedef struct VfsStat { typedef struct VfsObj { SpinLock spinlock; - int32_t refs; void *extra; size_t extrasize; struct VfsMountPoint *vmp; diff --git a/ulib/libulib.a b/ulib/libulib.a index 365d31aec64c189179ca997c8f610b32c75f3ad0..da94968b557d516d1e3d6616c0075e66194aba39 100644 GIT binary patch delta 85 zcmZ2syux^bEUUS>xuxYqrG5xwG9Qol#