Exemplo n.º 1
0
int
main (int argc, char ** argv)
{
        int     i           = 0;
        int     ret         = 0;
        ssize_t nr_changes  = 0;
        ssize_t changes     = 0;
        char fbuf[PATH_MAX] = {0,};

        /* get changes for brick "/home/vshankar/export/yow/yow-1" */
        ret = gf_changelog_register ("/home/vshankar/exports/yow/yow-1",
                                     "/tmp/scratch", "/tmp/change.log", 9, 5);
        if (ret) {
                handle_error ("register failed");
                goto out;
        }

        while (1) {
                i = 0;
                nr_changes = gf_changelog_scan ();
                if (nr_changes < 0) {
                        handle_error ("scan(): ");
                        break;
                }

                if (nr_changes == 0)
                        goto next;

                printf ("Got %ld changelog files\n", nr_changes);

                while ( (changes =
                         gf_changelog_next_change (fbuf, PATH_MAX)) > 0) {
                        printf ("changelog file [%d]: %s\n", ++i, fbuf);

                        /* process changelog */
                        /* ... */
                        /* ... */
                        /* ... */
                        /* done processing */

                        ret = gf_changelog_done (fbuf);
                        if (ret)
                                handle_error ("gf_changelog_done");
                }

                if (changes == -1)
                        handle_error ("gf_changelog_next_change");

        next:
                sleep (10);
        }

 out:
        return ret;
}
Exemplo n.º 2
0
int
main (int argc, char ** argv)
{
        int     i            = 0;
        int     ret          = 0;
        ssize_t nr_changes   = 0;
        ssize_t changes      = 0;
        char fbuf[PATH_MAX]  = {0,};
        unsigned long end_ts = 0;

        ret = gf_changelog_init (NULL);
        if (ret) {
                handle_error ("init failed");
                goto out;
        }

        ret = gf_changelog_register ("/export/z1/zwoop",
                                     "/tmp/scratch_v1", "/tmp/changes.log",
                                     9, 5);
        if (ret) {
                handle_error ("register failed");
                goto out;
        }

        int a, b;
        printf ("give the two numbers start and end\t");
        scanf ("%d%d", &a, &b);
        ret = gf_history_changelog ("/export/z1/zwoop/.glusterfs/changelogs",
                                    a, b, 3, &end_ts);
        if (ret == -1) {
                printf ("history failed");
                goto out;
        }

        printf ("end time till when changelog available : %d , ret(%d) \t", end_ts, ret);
        fflush(stdout);

        while (1) {
                nr_changes = gf_history_changelog_scan ();
                printf ("scanned, nr_changes : %d\n",nr_changes);
                if (nr_changes < 0) {
                        handle_error ("scan(): ");
                        break;
                }

                if (nr_changes == 0) {
                        printf ("done scanning \n");
                        goto out;
                }

                printf ("Got %ld changelog files\n", nr_changes);

                while ( (changes =
                         gf_history_changelog_next_change (fbuf, PATH_MAX)) > 0) {
                        printf ("changelog file [%d]: %s\n", ++i, fbuf);

                        /* process changelog */
                        /* ... */
                        /* ... */
                        /* ... */
                        /* done processing */

                        ret = gf_history_changelog_done (fbuf);
                        if (ret)
                                handle_error ("gf_changelog_done");
                }
                /*
                if (changes == -1)
                        handle_error ("gf_changelog_next_change");
                if (nr_changes ==1){
                        printf("continue scanning\n");
                }

                if(nr_changes == 0){
                        printf("done scanning \n");
                        goto out;
                }
                */
        }


out:
        return ret;
}