Loading fs/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,6 @@ find_package(FUSE3 REQUIRED) find_package(Boost 1.56.0 COMPONENTS system filesystem serialization) include_directories(${FUSE3_INCLUDE_DIR} include/) set(SOURCE_FILES src/main.cpp src/main.h src/fuse_ops.h src/util.cpp src/metadata.h src/metadata.cpp src/metadata_ops.h src/metadata_ops.cpp) set(SOURCE_FILES src/main.cpp src/main.h src/fuse_ops.h src/util.cpp src/metadata.h src/metadata.cpp src/metadata_ops.h src/metadata_ops.cpp src/dentry_ops.cpp src/dentry_ops.h) add_executable(adafs ${SOURCE_FILES} src/main.cpp) target_link_libraries(adafs ${FUSE3_LIBRARIES} -lpthread -lboost_system -lboost_filesystem -lboost_serialization) No newline at end of file fs/src/dentry_ops.cpp 0 → 100644 +20 −0 Original line number Diff line number Diff line // // Created by evie on 3/17/17. // #include "dentry_ops.h" using namespace std; /** * Called when a directory is created to init the corresponding dentry dir. * @param hash * @return */ bool init_dentry(const unsigned long& hash) { auto path = bfs::path(ADAFS_DATA->dentry_path); path.append(to_string(hash)); bfs::create_directories(path); return bfs::exists(path); } fs/src/dentry_ops.h 0 → 100644 +12 −0 Original line number Diff line number Diff line // // Created by evie on 3/17/17. // #ifndef FS_DENTRY_OPS_H #define FS_DENTRY_OPS_H #include "main.h" bool init_dentry(const unsigned long& hash); #endif //FS_DENTRY_OPS_H fs/src/main.cpp +5 −1 Original line number Diff line number Diff line #include "main.h" #include "metadata.h" #include "metadata_ops.h" #include "dentry_ops.h" #include "fuse_ops.h" static struct fuse_operations adafs_ops; Loading Loading @@ -96,7 +97,10 @@ void *adafs_init(struct fuse_conn_info *conn, struct fuse_config *cfg) { md->uid(fuse_get_context()->uid); md->gid(fuse_get_context()->gid); md->inode_no(ADAFS_ROOT_INODE); write_all_metadata(*md, ADAFS_DATA->hashf("/"s), ADAFS_DATA->inode_path); ADAFS_DATA->logger->info("Writing / metadata to disk..."s); write_all_metadata(*md, ADAFS_DATA->hashf("/"s)); ADAFS_DATA->logger->info("Initializing dentry for /"s); init_dentry(ADAFS_DATA->hashf("/"s)); ADAFS_DATA->logger->info("Creating Metadata object"s); } Loading fs/src/main.h +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ struct adafs_data { std::string rootdir; // Below paths are needed for future version when we'll get rid of path hashing. std::string inode_path; // used std::string dentry_path; // unused std::string dentry_path; // used std::string chunk_path; // unused // Caching Loading Loading
fs/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,6 @@ find_package(FUSE3 REQUIRED) find_package(Boost 1.56.0 COMPONENTS system filesystem serialization) include_directories(${FUSE3_INCLUDE_DIR} include/) set(SOURCE_FILES src/main.cpp src/main.h src/fuse_ops.h src/util.cpp src/metadata.h src/metadata.cpp src/metadata_ops.h src/metadata_ops.cpp) set(SOURCE_FILES src/main.cpp src/main.h src/fuse_ops.h src/util.cpp src/metadata.h src/metadata.cpp src/metadata_ops.h src/metadata_ops.cpp src/dentry_ops.cpp src/dentry_ops.h) add_executable(adafs ${SOURCE_FILES} src/main.cpp) target_link_libraries(adafs ${FUSE3_LIBRARIES} -lpthread -lboost_system -lboost_filesystem -lboost_serialization) No newline at end of file
fs/src/dentry_ops.cpp 0 → 100644 +20 −0 Original line number Diff line number Diff line // // Created by evie on 3/17/17. // #include "dentry_ops.h" using namespace std; /** * Called when a directory is created to init the corresponding dentry dir. * @param hash * @return */ bool init_dentry(const unsigned long& hash) { auto path = bfs::path(ADAFS_DATA->dentry_path); path.append(to_string(hash)); bfs::create_directories(path); return bfs::exists(path); }
fs/src/dentry_ops.h 0 → 100644 +12 −0 Original line number Diff line number Diff line // // Created by evie on 3/17/17. // #ifndef FS_DENTRY_OPS_H #define FS_DENTRY_OPS_H #include "main.h" bool init_dentry(const unsigned long& hash); #endif //FS_DENTRY_OPS_H
fs/src/main.cpp +5 −1 Original line number Diff line number Diff line #include "main.h" #include "metadata.h" #include "metadata_ops.h" #include "dentry_ops.h" #include "fuse_ops.h" static struct fuse_operations adafs_ops; Loading Loading @@ -96,7 +97,10 @@ void *adafs_init(struct fuse_conn_info *conn, struct fuse_config *cfg) { md->uid(fuse_get_context()->uid); md->gid(fuse_get_context()->gid); md->inode_no(ADAFS_ROOT_INODE); write_all_metadata(*md, ADAFS_DATA->hashf("/"s), ADAFS_DATA->inode_path); ADAFS_DATA->logger->info("Writing / metadata to disk..."s); write_all_metadata(*md, ADAFS_DATA->hashf("/"s)); ADAFS_DATA->logger->info("Initializing dentry for /"s); init_dentry(ADAFS_DATA->hashf("/"s)); ADAFS_DATA->logger->info("Creating Metadata object"s); } Loading
fs/src/main.h +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ struct adafs_data { std::string rootdir; // Below paths are needed for future version when we'll get rid of path hashing. std::string inode_path; // used std::string dentry_path; // unused std::string dentry_path; // used std::string chunk_path; // unused // Caching Loading