• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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