#include #include #include #include #include #include #define __KERNEL__ #include #undef __KERNEL__ int bcachefd; static int register_devices(int argc, char *argv[]) { int ret; ret = ioctl(bcachefd, BCH_IOCTL_REGISTER, argv); if (ret < 0) { fprintf(stderr, "ioctl error %d", ret); exit(EXIT_FAILURE); } return 0; } int main(int argc, char *argv[]) { char *ioctl = argv[1]; if (argc < 3) { fprintf(stderr, " %s ", argv[0]); fprintf(stderr, "\n Possible actions are: \n"); fprintf(stderr, " \t 1. register_devices\n"); exit(EXIT_FAILURE); } bcachefd = open("/dev/bcache", O_RDWR); if (bcachefd < 0) { perror("Can't open bcache device"); exit(EXIT_FAILURE); } argc -= 2; argv += 2; if (!strcmp(ioctl, "register")) return register_devices(argc, argv); else { fprintf(stderr, "Unknown ioctl\n"); exit(EXIT_FAILURE); } return 0; }