"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"01234567890";
+#define NR_BUFSIZE 4096
+#define NR_NAME_LEN 8
+#define NR_REPEAT 5
+
int main()
{
- unsigned int buf[4096];
- char name[8];
+ unsigned int buf[NR_BUFSIZE];
+ char name[NR_NAME_LEN + 1];
int fd = open("/dev/rand", O_RDONLY);
if (mkdir("testdir") && errno != EEXIST)
_exit(1);
}
+ int nr_total = NR_REPEAT * NR_BUFSIZE / NR_NAME_LEN;
+
int cnt = 0;
- for (int i = 0; i < 1; i++)
+ for (int i = 0; i < NR_REPEAT; i++)
{
int n = read(fd, buf, 4096 * sizeof(int));
int j = 0, k = 0;
while (j < 4096) {
name[k++] = alphabets[buf[j++] % 63];
- if (k < 7) {
+ if (k < NR_NAME_LEN) {
continue;
}
k = 0;
cnt++;
- name[7] = 0;
+ name[NR_NAME_LEN] = 0;
- printf("[%03d] creating: %s\n", cnt, name);
+ printf("[%04d/%04d] creating: %s\r", cnt, nr_total, name);
int fd2 = open(name, O_RDONLY | O_CREAT);
- if (fd2 < 0) {
+
+ if (fd2 < 0)
+ {
+ printf("\n");
+ if (errno == EDQUOT) {
+ printf("Out of quota\n");
+ return 0;
+ }
+
printf("Unable to open %d\n", errno);
continue;
}
close(fd2);
}
}
-
+ printf("\n");
return 0;
}
\ No newline at end of file