9
#include <glusterfs/api/glfs.h>
10
#include <glusterfs/api/glfs-handles.h>
13
#define LOG_ERR(func, ret) \
16
fprintf(stderr, "%s : returned error ret(%d), errno(%d)\n", func, \
20
fprintf(stderr, "%s : returned %d\n", func, ret); \
23
#define LOG_IF_NO_ERR(func, ret) \
26
fprintf(stderr, "%s : hasn't returned error %d\n", func, ret); \
29
fprintf(stderr, "%s : returned %d\n", func, ret); \
33
main(int argc, char *argv[])
38
char *filename = "/a1";
39
char *filename2 = "/a2";
43
struct glfs_upcall *cbk = NULL;
47
struct glfs_upcall_inode *in_arg = NULL;
48
struct glfs_object *root = NULL, *leaf = NULL;
50
fprintf(stderr, "Starting libgfapi_fini\n");
52
fprintf(stderr, "Invalid argument\n");
56
hostname = argv[1] volname = argv[2];
59
fs = glfs_new(volname);
61
fprintf(stderr, "glfs_new: returned NULL\n");
65
ret = glfs_set_volfile_server(fs, "tcp", hostname, 24007);
66
LOG_ERR("glfs_set_volfile_server", ret);
68
ret = glfs_set_logging(fs, logfile, 7);
69
LOG_ERR("glfs_set_logging", ret);
72
LOG_ERR("glfs_init", ret);
75
root = glfs_h_lookupat(fs, NULL, "/", &sb, 0);
78
LOG_ERR("glfs_h_lookupat root", ret);
80
leaf = glfs_h_lookupat(fs, root, filename, &sb, 0);
83
LOG_IF_NO_ERR("glfs_h_lookupat leaf", ret);
86
leaf = glfs_h_creat(fs, root, filename, O_RDWR, 0644, &sb);
89
LOG_ERR("glfs_h_lookupat leaf", ret);
91
fprintf(stderr, "glfs_h_create leaf - %p\n", leaf);
93
leaf = glfs_h_lookupat(fs, root, filename2, &sb, 0);
96
LOG_IF_NO_ERR("glfs_h_lookupat leaf", ret);
99
ret = glfs_h_rename(fs, root, filename, root, filename2);
100
LOG_ERR("glfs_rename", ret);
103
ret = glfs_h_poll_upcall(fs, &cbk);
104
LOG_ERR("glfs_h_poll_upcall", ret);
107
if (glfs_upcall_get_reason(cbk) != GLFS_UPCALL_EVENT_NULL) {
108
fprintf(stderr, "Error: Upcall received(%d)\n",
109
glfs_upcall_get_reason(cbk));
117
LOG_ERR("glfs_fini", ret);
119
fprintf(stderr, "End of libgfapi_fini\n");