1 /*
2 * Copyright 2000 by Hans Reiser, licensing governed by reiserfs/README
3 */
4
5 /*
6 * MONGO READ - simple possible program to read a number of given files
7 * suitable for benchmarking FS read performance
8 */
9
10 #include <stdio.h>
11 #include <errno.h>
12 #include <sys/types.h>
13 #include <sys/stat.h>
14 #include <fcntl.h>
15 #include <stdlib.h>
16 #include <unistd.h>
17
main(int argc,char ** argv)18 int main(int argc, char **argv)
19 {
20 int fd, rd, i;
21 char *buf;
22 int bufsize = 4096;
23
24 if (argc < 2) {
25 printf("\nUsage: %s filename [,filename2 [,...] ] ]\n\n",
26 argv[0]);
27 return 0;
28 }
29
30 buf = malloc(bufsize);
31 if (buf == 0) {
32 printf("Malloc failed on %d\n", bufsize);
33 return 0;
34 }
35
36 /* Read all given files */
37 for (i = 1; i < argc; i++) {
38
39 /* open the file */
40 fd = open(argv[i], O_RDONLY);
41 if (fd == -1) {
42 printf("Open failed (%s)\n", strerror(errno));
43 return 0;
44 }
45
46 /* read the file */
47 while ((rd = read(fd, buf, bufsize)) == bufsize) ;
48 if (rd == -1) {
49 printf("Read failed (%s)\n", strerror(errno));
50 return 0;
51 }
52 close(fd);
53 }
54
55 free(buf);
56 return 0;
57 }
58