diff --git a/.gdb_history b/.gdb_history new file mode 100644 index 0000000..41a1642 --- /dev/null +++ b/.gdb_history @@ -0,0 +1,3 @@ +q +run +up diff --git a/.gitignore b/.gitignore index 305ee56..831e551 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.img *.o +*.out +lsfs_fuse diff --git a/Makefile b/Makefile index 61cc0ed..f815cce 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ GCC = gcc SOURCES = lsfs_fuse.c OBJS := $(patsubst %.c,%.o,$(SOURCES)) -CFLAGS = -O0 -g -Wall -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25 +CFLAGS = -O0 -g -Wall -Wextra -Wpedantic -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25 .always_rebuilt: diff --git a/create_disk.sh b/create_disk.sh new file mode 100644 index 0000000..24f0aca --- /dev/null +++ b/create_disk.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd source_lsfs +bash build.sh +./disk_manager -n ../testdisk.img \ No newline at end of file diff --git a/lsfs_fuse b/lsfs_fuse index a8e0d80..23a40d8 100755 Binary files a/lsfs_fuse and b/lsfs_fuse differ diff --git a/lsfs_fuse.c b/lsfs_fuse.c index ee19b0b..7bc41b6 100644 --- a/lsfs_fuse.c +++ b/lsfs_fuse.c @@ -217,14 +217,16 @@ int lsfs_mknod(const char *path, mode_t mode, dev_t device) { return lsfs_disk_create_entry(path, ENTRY_FILE); } -int main( int argc, char *argv[] ) { - // "/home/rhodez-x/Documents/github/SingOS/SingOS.img" - //disk = fopen ("/home/rhodezx/Documents/github/SingOS/SingOS.img", "r+b"); - - disk = fopen ("test_disk.img", "r+b"); - if (lsfs_disk_load_disk()) +int main( int argc, char *argv[] ) +{ + if (argc != 3) + { + printf("Wrong number of arguments, format should be ./lsfs_fuse mountpoint diskname\n"); + } + + if (lsfs_disk_load_disk(argv[2])) { - return fuse_main( argc, argv, &lsfs_oper ); + return fuse_main( argc - 1 , argv, &lsfs_oper ); } else { diff --git a/source_lsfs b/source_lsfs index 0858a97..23c2fbe 160000 --- a/source_lsfs +++ b/source_lsfs @@ -1 +1 @@ -Subproject commit 0858a9776d0f1f6fe66a24a09a7e92c022c18918 +Subproject commit 23c2fbe1ec49584d9366f45f080f06b19e6eb550