diff --git a/kernel/include/fs/VFS.h b/kernel/include/fs/VFS.h index 140b052d..6519ad59 100644 --- a/kernel/include/fs/VFS.h +++ b/kernel/include/fs/VFS.h @@ -42,6 +42,8 @@ namespace VFS Node* resolve_path(const char* filename, Node* root = nullptr); + bool exists(const char* pathname); + void mount(Node* mountpoint, Node* mounted); void mount(const char* pathname, Node* mounted); diff --git a/kernel/src/fs/VFS.cpp b/kernel/src/fs/VFS.cpp index 4a9a4509..df8566a7 100644 --- a/kernel/src/fs/VFS.cpp +++ b/kernel/src/fs/VFS.cpp @@ -160,6 +160,11 @@ int VFS::mkdir(const char* pathname) return result; } +bool VFS::exists(const char* pathname) +{ + return resolve_path(pathname) != nullptr; +} + void VFS::mount(Node* mountpoint, Node* mounted) { if (!mountpoint || !mounted) return;