Whamcloud - gitweb
b=15967
[fs/lustre-release.git] / lustre / tests / wantedi.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <errno.h>
6 #include <string.h>
7 #include <fcntl.h>
8 #include <getopt.h>
9 #include <unistd.h>
10 #include <time.h>
11 #include <limits.h>
12 #include <sys/ioctl.h>
13 #include <liblustre.h>
14 #include <obd.h>
15 #include <lustre_lib.h>
16
17 static int usage(char *prog, FILE *out)
18 {
19         fprintf(out,
20                 "Usage: %s <dir> <desired child ino>\n", prog);
21         exit(out == stderr);
22 }
23
24 #define LDISKFS_IOC_CREATE_INUM            _IOW('f', 5, long)
25
26 int main(int argc, char ** argv)
27 {
28         int dirfd, wantedi, rc;
29
30         if (argc < 2 || argc > 3)
31                 usage(argv[0], stderr);
32         
33         dirfd = open(argv[1], O_RDONLY);
34         if (dirfd < 0) {
35                perror("open");
36                exit(1);
37         }
38         
39         wantedi = atoi(argv[2]);
40         printf("Creating %s/%d with ino %d\n", argv[1], wantedi, wantedi);
41
42         rc = ioctl(dirfd, LDISKFS_IOC_CREATE_INUM, wantedi);
43         if (rc < 0) {
44                perror("ioctl(LDISKFS_IOC_CREATE_INUM)");
45                exit(2);
46         }
47
48         return 0;
49 }