Loading ifs/include/daemon/adafs_ops/metadentry.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #define IFS_METADENTRY_HPP #include <daemon/adafs_daemon.hpp> #include <daemon/classes/metadata.hpp> #include <global/metadata.hpp> #include <preload/preload_util.hpp> int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_t mode); Loading ifs/include/daemon/backend/metadata/merge.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #include "rocksdb/merge_operator.h" #include <daemon/classes/metadata.hpp> #include "global/metadata.hpp" namespace rdb = rocksdb; Loading ifs/include/daemon/classes/metadata.hpp→ifs/include/global/metadata.hpp +17 −37 Original line number Diff line number Diff line #ifndef FS_METADATA_H #define FS_METADATA_H #pragma once #include <daemon/adafs_daemon.hpp> class Metadata { #include "global/configure.hpp" #include <sys/types.h> #include <string> class Metadata { private: time_t atime_; // access time. gets updated on file access unless mounted with noatime time_t mtime_; // modify time. gets updated when file content is modified. Loading @@ -13,65 +16,42 @@ private: uid_t uid_; gid_t gid_; mode_t mode_; uint64_t inode_no_; unsigned long inode_no_; nlink_t link_count_; // number of names for this inode (hardlinks) size_t size_; // size_ in bytes, might be computed instead of stored blkcnt_t blocks_; // allocated file system blocks_ public: Metadata(); Metadata(mode_t mode); Metadata(std::string db_val); void init_ACM_time(); std::string serialize() const; void init_ACM_time(); void update_ACM_time(bool a, bool c, bool m); std::string serialize() const; //Getter and Setter time_t atime() const; void atime(time_t atime_); time_t mtime() const; void mtime(time_t mtime_); time_t ctime() const; void ctime(time_t ctime_); uid_t uid() const; void uid(uid_t uid_); gid_t gid() const; void gid(gid_t gid_); mode_t mode() const; void mode(mode_t mode_); uint64_t inode_no() const; void inode_no(uint64_t inode_no_); unsigned long inode_no() const; void inode_no(unsigned long inode_no_); nlink_t link_count() const; void link_count(nlink_t link_count_); size_t size() const; void size(size_t size_); blkcnt_t blocks() const; void blocks(blkcnt_t blocks_); }; Loading ifs/src/daemon/CMakeLists.txt +2 −2 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ set(DAEMON_SRC ../global/rpc/rpc_utils.cpp ../global/global_func.cpp ../global/path_util.cpp ../global/metadata.cpp adafs_daemon.cpp adafs_ops/metadentry.cpp classes/fs_data.cpp classes/rpc_data.cpp classes/metadata.cpp handler/h_metadentry.cpp handler/h_data.cpp handler/h_preload.cpp Loading @@ -23,10 +23,10 @@ set(DAEMON_HEADERS ../../include/global/rpc/rpc_types.hpp ../../include/global/rpc/rpc_utils.hpp ../../include/global/path_util.hpp ../../include/global/metadata.hpp ../../include/daemon/adafs_daemon.hpp ../../include/daemon/adafs_ops/metadentry.hpp ../../include/daemon/classes/fs_data.hpp ../../include/daemon/classes/metadata.hpp ../../include/daemon/classes/rpc_data.hpp ../../include/daemon/handler/rpc_defs.hpp ) Loading ifs/src/daemon/adafs_ops/metadentry.cpp +34 −36 Original line number Diff line number Diff line Loading @@ -101,13 +101,8 @@ void update_metadentry(const string& path, Metadata& md) { * @return errno */ int check_access_mask(const string& path, const int mask) { Metadata md; try { md = get_metadentry(path); } catch (const NotFoundException& e) { return ENOENT; } Metadata md = get_metadentry_str(path); /* * if only check if file exists is wanted, return success. * According to POSIX (access(2)) the mask is either the value F_OK, Loading Loading @@ -144,6 +139,9 @@ int check_access_mask(const string& path, const int mask) { return 0; } } catch (const NotFoundException& e) { return ENOENT; } return EACCES; } Loading Loading
ifs/include/daemon/adafs_ops/metadentry.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #define IFS_METADENTRY_HPP #include <daemon/adafs_daemon.hpp> #include <daemon/classes/metadata.hpp> #include <global/metadata.hpp> #include <preload/preload_util.hpp> int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_t mode); Loading
ifs/include/daemon/backend/metadata/merge.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #include "rocksdb/merge_operator.h" #include <daemon/classes/metadata.hpp> #include "global/metadata.hpp" namespace rdb = rocksdb; Loading
ifs/include/daemon/classes/metadata.hpp→ifs/include/global/metadata.hpp +17 −37 Original line number Diff line number Diff line #ifndef FS_METADATA_H #define FS_METADATA_H #pragma once #include <daemon/adafs_daemon.hpp> class Metadata { #include "global/configure.hpp" #include <sys/types.h> #include <string> class Metadata { private: time_t atime_; // access time. gets updated on file access unless mounted with noatime time_t mtime_; // modify time. gets updated when file content is modified. Loading @@ -13,65 +16,42 @@ private: uid_t uid_; gid_t gid_; mode_t mode_; uint64_t inode_no_; unsigned long inode_no_; nlink_t link_count_; // number of names for this inode (hardlinks) size_t size_; // size_ in bytes, might be computed instead of stored blkcnt_t blocks_; // allocated file system blocks_ public: Metadata(); Metadata(mode_t mode); Metadata(std::string db_val); void init_ACM_time(); std::string serialize() const; void init_ACM_time(); void update_ACM_time(bool a, bool c, bool m); std::string serialize() const; //Getter and Setter time_t atime() const; void atime(time_t atime_); time_t mtime() const; void mtime(time_t mtime_); time_t ctime() const; void ctime(time_t ctime_); uid_t uid() const; void uid(uid_t uid_); gid_t gid() const; void gid(gid_t gid_); mode_t mode() const; void mode(mode_t mode_); uint64_t inode_no() const; void inode_no(uint64_t inode_no_); unsigned long inode_no() const; void inode_no(unsigned long inode_no_); nlink_t link_count() const; void link_count(nlink_t link_count_); size_t size() const; void size(size_t size_); blkcnt_t blocks() const; void blocks(blkcnt_t blocks_); }; Loading
ifs/src/daemon/CMakeLists.txt +2 −2 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ set(DAEMON_SRC ../global/rpc/rpc_utils.cpp ../global/global_func.cpp ../global/path_util.cpp ../global/metadata.cpp adafs_daemon.cpp adafs_ops/metadentry.cpp classes/fs_data.cpp classes/rpc_data.cpp classes/metadata.cpp handler/h_metadentry.cpp handler/h_data.cpp handler/h_preload.cpp Loading @@ -23,10 +23,10 @@ set(DAEMON_HEADERS ../../include/global/rpc/rpc_types.hpp ../../include/global/rpc/rpc_utils.hpp ../../include/global/path_util.hpp ../../include/global/metadata.hpp ../../include/daemon/adafs_daemon.hpp ../../include/daemon/adafs_ops/metadentry.hpp ../../include/daemon/classes/fs_data.hpp ../../include/daemon/classes/metadata.hpp ../../include/daemon/classes/rpc_data.hpp ../../include/daemon/handler/rpc_defs.hpp ) Loading
ifs/src/daemon/adafs_ops/metadentry.cpp +34 −36 Original line number Diff line number Diff line Loading @@ -101,13 +101,8 @@ void update_metadentry(const string& path, Metadata& md) { * @return errno */ int check_access_mask(const string& path, const int mask) { Metadata md; try { md = get_metadentry(path); } catch (const NotFoundException& e) { return ENOENT; } Metadata md = get_metadentry_str(path); /* * if only check if file exists is wanted, return success. * According to POSIX (access(2)) the mask is either the value F_OK, Loading Loading @@ -144,6 +139,9 @@ int check_access_mask(const string& path, const int mask) { return 0; } } catch (const NotFoundException& e) { return ENOENT; } return EACCES; } Loading