Add proper per-file copyright notices/licenses and top-level license.
[bluesky.git] / TBBT / trace_play / init_holder.c
1 #include <stdio.h>
2 #include <sys/stat.h>
3 #include <fcntl.h>
4 #define FILE_NUM 25000
5 #define DIR_NUM 1
6 #define FILE_SIZE 40960
7
8 int print_usage()
9 {
10         printf("init_holder DIR_NUM HOLDER_NUM HOLDER_SIZE testdir\n");
11 }
12
13 main4(int argc, char ** argv)
14 {
15         int i, j;
16         char name[256];
17         char cmd[1024];
18         char buf[FILE_SIZE];
19         int fd, ret;
20         char testdir[1024];
21
22         if (argc!=5) {
23                 print_usage();
24                 exit (-1);
25         }
26         if (DIR_NUM !=1) {
27                 for (i=0; i<DIR_NUM; i++) {
28                         memset (name, 0, sizeof(name));
29                         sprintf(name, "%s/%d", testdir, i);
30                         ret = mkdir (name, S_IRWXU);
31                         if (ret == -1) {
32                                 perror(name);
33                                 exit(-1);
34                         }
35                 }
36         }
37
38         for (j=0; j<DIR_NUM; j++) {
39                 for (i=0; i<FILE_NUM/DIR_NUM; i++) {
40                         if (DIR_NUM == 1)  
41                                 sprintf(name, "%s/%d", testdir, i);
42                         else
43                                 sprintf(name, "%s/%d/%d", testdir, j, i);
44                         fd = open (name, O_CREAT|O_WRONLY);
45                         if (fd == -1) {
46                                 perror(name);
47                                 exit(-1);
48                         }
49                         ret = write (fd, buf, FILE_SIZE );
50                         close (fd);
51                         if (ret!=FILE_SIZE) {
52                                 printf("try to write %d , get %d\n", SIZE, ret);
53                                 exit (-1);
54                         }
55                 }
56         }
57 }