diff --git a/init/main.c b/init/main.c index acab961..5eb99f0 100644 --- a/init/main.c +++ b/init/main.c @@ -175,6 +175,11 @@ int main() { load_task(datapos,initrd); free(initrd); yieldToPID(3); + serial_print("MOUNT\n"); + vga_write_string("CALLING MOUNT\n"); + mount("","devfs","/dev"); + serial_print("MOUNT SUCSESFULL\n"); + vga_write_string("MOUNT SUCSESFULL\n"); FILE* file; do { vga_write_string("CALLING FOPEN\n"); diff --git a/vfs/main.c b/vfs/main.c index b55f640..a49c379 100644 --- a/vfs/main.c +++ b/vfs/main.c @@ -203,6 +203,21 @@ void vfs_mount(vfs_message* vfs_msg, uint32_t from) { vfs_msg->flags=2; return; } + msg.from=box; + msg.to=drvs[i]; + msg.size=sizeof(vfs_message); + msg.msg=vfs_msg; + mailbox_send_msg(&msg); + msg.size=vfs_msg->data; + msg.msg=disk_file; + mailbox_send_msg(&msg); + yield(); + msg.size=sizeof(vfs_message); + vfs_message* resp=get_message(&msg); + if (resp->flags!=0) { + vfs_msg->flags=resp->flags; + return; + } if (head_mapping==NULL) { vfs_mapping* mapping=malloc(sizeof(vfs_mapping)); mapping->mntpnt=malloc(sizeof(char)*(strlen(path)+1));