Whamcloud - gitweb
426602f1948451bab3f1c0d1e52339f936e49db4
[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 <linux/lustre_lib.h>
14 #include <linux/obd.h>
15
16 static int usage(char *prog, FILE *out)
17 {
18         fprintf(out,
19                 "Usage: %s <dir> <desired child ino>\n", prog);
20         exit(out == stderr);
21 }
22
23 #define EXTN_IOC_CREATE_INUM            _IOW('f', 5, long)
24
25 int main(int argc, char ** argv)
26 {
27         int dirfd, wantedi, rc;
28
29         if (argc < 2 || argc > 3)
30                 usage(argv[0], stderr);
31         
32         dirfd = open(argv[1], O_RDONLY);
33         if (dirfd < 0) {
34                perror("open");
35                exit(1);
36         }
37         
38         wantedi = atoi(argv[2]);
39         printf("Creating %s/%d with ino %d\n", argv[1], wantedi, wantedi);
40
41         rc = ioctl(dirfd, EXTN_IOC_CREATE_INUM, wantedi);
42         if (rc < 0) {
43                perror("ioctl(EXTN_IOC_CREATE_INUM)");
44                exit(2);
45         }
46
47         return 0;
48 }