Commit 09d71ad1 authored by Ramon Nou's avatar Ramon Nou
Browse files

Merge branch 'rnou/339-extract-more-user-functions' into 'master'

Resolve "extract more user functions"

Closes #339

Closes #339

See merge request !227
parents 7e3dc3e7 23da7c52
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  - resolve_new accepts the parameter resolve_last_link,([!209](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/209))
    - This solves an issue with the ci when looks at gcl-build directory (mainly lxstat) 
  - Refactor and modernize sfind and gfind ([!226](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/226))
  - Export extra user library functions ([!227](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/227))
  
### Fixed

+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ private:
    std::bitset<MAX_USER_FDS> protected_fds_;
    std::string hostname;
    int replicas_;

    bool protect_fds_{false};

    std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics_;
+31 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ extern "C" {
#include <sys/stat.h>
}

struct linux_dirent;
struct linux_dirent64;

namespace gkfs {
@@ -61,6 +62,8 @@ gkfs_create(const std::string& path, mode_t mode);

int
gkfs_remove(const std::string& path);
int
gkfs_rmdir(const std::string& path);

ssize_t
gkfs_write(int fd, const void* buf, size_t count);
@@ -83,11 +86,39 @@ gkfs_pread(int fd, void* buf, size_t count, off64_t offset);
int
gkfs_stat(const std::string& path, struct stat* buf, bool follow_links = true);

int
gkfs_statx(int dirfs, const std::string& path, int flags, unsigned int mask,
           struct statx* buf, bool follow_links = true);

int
gkfs_remove(const std::string& path);

int
gkfs_dup(const int oldfd);

int
gkfs_dup2(const int oldfd, const int newfd);

int
gkfs_access(const std::string& path, const int mask, bool follow_links);

std::vector<std::string>
gkfs_get_file_list(const std::string& path);


int
gkfs_opendir(const std::string& path);

int
gkfs_getdents(unsigned int fd, struct linux_dirent* dirp, unsigned int count);

int
gkfs_getdents64(unsigned int fd, struct linux_dirent64* dirp,
                unsigned int count);
int
gkfs_truncate(const std::string& path, off_t offset);


} // namespace syscall
namespace malleable {