/* $Cambridge: hermes/doc/benchmarks/SR2300-vs-EonStor/write.c,v 1.1 2003/10/19 19:43:05 dpc22 Exp $ */

#define _GNU_SOURCE   /* For LARGEFILE support */

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/uio.h>

int main()
{
    static char buf[1048576];  /* BSS */
    int i, fd;

    fd = open("testfile", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0644);

    if (fd <= 0) {
        fprintf(stderr, "Failed to open testfile: %s", strerror(errno));
        exit(1);
    }

    for (i=0 ; i < 2048 ; i++) {
        if (write(fd, buf, 1048576) < 0) {
            fprintf(stderr, "write() failed: %s\n", strerror(errno));
            exit(1);
        }
    }
    fsync(fd);
    close(fd);
}
