Commit 808adfa5 authored by Marc Vef's avatar Marc Vef
Browse files

ifs: stat (with rpc) done

parent 912d1fbb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_

int create_metadentry(const std::string& path, mode_t mode);

int db_metadentry_to_stat(const std::string& path, struct stat& attr);
int db_val_to_stat(const std::string& path, std::string db_val, struct stat& attr);

int get_attr(const std::string& path, struct stat* attr);

+6 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
#define LFS_RPC_DATA_HPP

#include "../../main.hpp"
#include "extern/lrucache/LRUCache11.hpp"
#include <extern/lrucache/LRUCache11.hpp>

class RPCData {

@@ -33,6 +33,7 @@ private:
    // RPC client IDs
    hg_id_t rpc_minimal_id_;
    hg_id_t rpc_srv_create_node_id_;
    hg_id_t rpc_srv_attr_id_;


public:
@@ -91,6 +92,10 @@ public:

    void rpc_srv_create_node_id(hg_id_t rpc_srv_create_node_id);

    hg_id_t rpc_srv_attr_id() const;

    void rpc_srv_attr_id(hg_id_t rpc_srv_attr_id);

};


+2 −2
Original line number Diff line number Diff line
@@ -10,8 +10,8 @@
#include <stdint.h>
#include <fcntl.h>

#include "preload/open_file_map.hpp"
#include "preload/preload_util.hpp"
#include <open_file_map.hpp>
#include <preload_util.hpp>

//
void* libc;
+3 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
#ifndef LFS_RPC_DEFS_HPP
#define LFS_RPC_DEFS_HPP

#include "../main.hpp"
#include "../../main.hpp"

/* visible API for RPC operations */

@@ -13,6 +13,8 @@ DECLARE_MARGO_RPC_HANDLER(rpc_minimal)

DECLARE_MARGO_RPC_HANDLER(rpc_srv_create_node)

DECLARE_MARGO_RPC_HANDLER(rpc_srv_attr)

/** OLD BELOW
// mdata ops
DECLARE_MARGO_RPC_HANDLER(rpc_srv_create_mdata)
+7 −0
Original line number Diff line number Diff line
@@ -16,10 +16,17 @@ MERCURY_GEN_PROC(rpc_minimal_out_t, ((int32_t) (output)))
// misc generic rpc types
MERCURY_GEN_PROC(rpc_res_out_t, ((hg_bool_t) (res)))

// Metadentry
MERCURY_GEN_PROC(rpc_create_node_in_t,
                 ((hg_const_string_t) (path))\
((uint32_t) (mode)))

MERCURY_GEN_PROC(rpc_get_attr_in_t, ((hg_const_string_t) (path)))

MERCURY_GEN_PROC(rpc_get_attr_out_t, ((hg_const_string_t) (db_val)))



/** OLD BELOW
// create dentry
MERCURY_GEN_PROC(rpc_create_dentry_in_t,
Loading