Annotation of 43BSDReno/sys/nfs/TEST/unix-tests/special/dupreq.c, revision 1.1.1.1

1.1       root        1: /*     @(#)dupreq.c    1.2 90/01/03 NFS Rev 2 Testsuite        */
                      2: /*
                      3:  *  check for lost reply on non-idempotent resuests
                      4:  */
                      5: #include <stdio.h>
                      6: 
                      7: main(argc, argv)
                      8:        int argc;
                      9:        char *argv[];
                     10: {
                     11:        int count, i;
                     12:        int fd;
                     13:        int cfail, lfail, u1fail, u2fail;
                     14:        char name1[256];
                     15:        char name2[256];
                     16: 
                     17:        if (argc != 3) {
                     18:                fprintf(stderr, "usage: %s count name\n", argv[0]);
                     19:                exit(1);
                     20:        }
                     21:        setbuf(stdout, NULL);
                     22:        count = atoi(argv[1]);
                     23:        sprintf(name1, "%s1", argv[2]);
                     24:        sprintf(name2, "%s2", argv[2]);
                     25:        cfail = lfail = u1fail = u2fail = 0;
                     26:        for (i=count; i > 0; i--) {
                     27:                if ((fd = creat(name1, 0666)) < 0) {
                     28:                        cfail++;
                     29:                        fprintf(stderr, "create ");
                     30:                        perror(name1);
                     31:                        continue;
                     32:                }
                     33:                close(fd);
                     34:                if (link(name1, name2) < 0) {
                     35:                        lfail++;
                     36:                        fprintf(stderr, "link %s %s", name1, name2);
                     37:                        perror(" ");
                     38:                }
                     39:                if (unlink(name2) < 0) {
                     40:                        u1fail++;
                     41:                        fprintf(stderr, "unlink %s", name2);
                     42:                        perror(" ");
                     43:                }
                     44:                if (unlink(name1) < 0) {
                     45:                        u2fail++;
                     46:                        fprintf(stderr, "unlink %s", name1);
                     47:                        perror(" ");
                     48:                }
                     49:        }
                     50:        fprintf(stdout, "%d tries\n", count);
                     51:        if (cfail) {
                     52:                fprintf(stdout, "%d bad create\n", cfail);
                     53:        }
                     54:        if (lfail) {
                     55:                fprintf(stdout, "%d bad link\n", lfail);
                     56:        }
                     57:        if (u1fail) {
                     58:                fprintf(stdout, "%d bad unlink 1\n", u1fail);
                     59:        }
                     60:        if (u2fail) {
                     61:                fprintf(stdout, "%d bad unlink 2\n", u2fail);
                     62:        }
                     63:        exit(0);
                     64: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.