int
main (int argc, char *argv[])
{
    int        ret      = 0;
    glfs_t    *fs       = NULL;
    char       buf[100];
    glfs_fd_t *fd       = NULL;

    if (argc != 4) {
        fprintf (stderr,
                 "Expect following args %s <hostname> <Vol> <log file location>\n"
                 , argv[0]);
        return -1;
    }

    fs = setup_new_client (argv[1], argv[2], argv[3]);
    if (!fs)
        goto error;

    ret = volfile_change (argv[2]);
    if (ret < 0)
        goto error;

    /* This is required as volfile change takes a while to reach this
     * gfapi client and precess the graph change. Without this the issue
     * cannot be reproduced as in cannot be tested.
     */
    sleep (10);

    ret = write_something (fs);
    if (ret < 0)
        goto error;

    ret = glfs_fini (fs);
    if (ret < 0) {
        fprintf (stderr, "glfs_fini failed with ret: %d (%s)\n",
                 ret, strerror (errno));
        goto error;
    }

    return 0;
error:
    return -1;
}
Example #2
0
int
main (int argc, char *argv[])
{
        int        ret         = 0;
        glfs_t    *fs          = NULL;
        struct glfs_fd *fd     = NULL;
        char      *volname     = NULL;
        char      *log_file    = NULL;
        char      *hostname    = NULL;
        char      *buf = NULL;
        struct stat stat;

        if (argc != 4) {
                fprintf (stderr,
                                "Expect following args %s <hostname> <Vol> <log file location>\n"
                                , argv[0]);
                return -1;
        }

        hostname = argv[1];
        volname = argv[2];
        log_file = argv[3];

        fs = setup_new_client (hostname, volname, log_file, 0);
        if (!fs) {
                fprintf (stderr, "\nsetup_new_client: returned NULL (%s)\n",
                                 strerror (errno));
                goto error;
        }

        fd = glfs_opendir (fs, "/");
        if (!fd) {
                fprintf (stderr, "/: %s\n", strerror (errno));
                return -1;
        }

        glfs_readdirplus (fd, &stat);

        fd = glfs_open (fs, "/test", O_RDWR);
        if (fd == NULL) {
                fprintf (stderr, "glfs_open: returned NULL\n");
                goto error;
        }

        buf = (char *) malloc (5);

        ret = glfs_pread (fd, buf, 5, 0, 0);
        if (ret < 0) {
                fprintf (stderr, "Read(%s): %d (%s)\n", "test", ret,
                         strerror (errno));
                return ret;
        }

        free (buf);
        glfs_close (fd);

        ret = glfs_fini (fs);
        if (ret < 0) {
                fprintf (stderr, "glfs_fini failed with ret: %d (%s)\n",
                         ret, strerror (errno));
                return -1;
        }

        return 0;
error:
        return -1;
}