X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Fmain.c;h=f072a285e8f033d47318a6ec948bbde3e4fba3fb;hb=7d881c2e5fef91a6570e46ef69a5d4a5cf0e8b4d;hp=fa7273d5a6dda89a0739271645029c56f9d84dbf;hpb=dea6bcf35a3f52396724d74e47f71cb3afade37c;p=tpg%2Facess2.git diff --git a/Kernel/vfs/main.c b/Kernel/vfs/main.c index fa7273d5..f072a285 100644 --- a/Kernel/vfs/main.c +++ b/Kernel/vfs/main.c @@ -25,7 +25,7 @@ EXPORT(VFS_AddDriver); // === GLOBALS === tVFS_Node NULLNode = {0}; -tSpinlock siDriverListLock = 0; +tShortSpinlock slDriverListLock; tVFS_Driver *gVFS_Drivers = NULL; char *gsVFS_DriverFile = NULL; int giVFS_DriverFileID = 0; @@ -49,7 +49,10 @@ int VFS_Init(void) giVFS_MountFileID = SysFS_RegisterFile("VFS/Mounts", NULL, 0); giVFS_DriverFileID = SysFS_RegisterFile("VFS/Drivers", NULL, 0); - VFS_Mount("root", "/", "rootfs", ""); + if( VFS_Mount("root", "/", "rootfs", "") != 0 ) { + Panic("Unable to mount root (Where the **** is rootfs?)"); + return -1; + } VFS_MkDir("/Devices"); VFS_MkDir("/Mount"); VFS_Mount("dev", "/Devices", "devfs", ""); @@ -101,6 +104,7 @@ tVFS_Driver *VFS_GetFSByName(char *Name) for(;drv;drv=drv->Next) { +// Log("strcmp('%s' (%p), '%s') == 0?", drv->Name, drv->Name, Name); if(strcmp(drv->Name, Name) == 0) return drv; } @@ -114,10 +118,10 @@ int VFS_AddDriver(tVFS_Driver *Info) { if(!Info) return -1; - LOCK( &siDriverListLock ); + SHORTLOCK( &slDriverListLock ); Info->Next = gVFS_Drivers; gVFS_Drivers = Info; - RELEASE( &siDriverListLock ); + SHORTREL( &slDriverListLock ); VFS_UpdateDriverFile();