Fixup ioctls master
authorJens Axboe <jaxboe@fusionio.com>
Wed, 27 Oct 2010 15:23:47 +0000 (09:23 -0600)
committerJens Axboe <jaxboe@fusionio.com>
Wed, 27 Oct 2010 15:23:47 +0000 (09:23 -0600)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
binject.h
main.c
tools/bbind.c
tools/bdel.c

index 1e7382098f9e50d7e9974334857a5309e2431276..67db5edfa7ef8c31f83151655508d0216d005f95 100644 (file)
--- a/binject.h
+++ b/binject.h
@@ -23,6 +23,10 @@ struct b_ioctl_cmd {
        int minor;
 };
 
        int minor;
 };
 
+#define BINJECT_IOCTL_CHR      'J'
+#define B_IOCTL_ADD            _IOWR(BINJECT_IOCTL_CHR, 1, struct b_ioctl_cmd)
+#define B_IOCTL_DEL            _IOWR(BINJECT_IOCTL_CHR, 2, struct b_ioctl_cmd)
+
 enum {
        B_TYPE_READ             = 0,
        B_TYPE_WRITE,
 enum {
        B_TYPE_READ             = 0,
        B_TYPE_WRITE,
diff --git a/main.c b/main.c
index 0981b36c0860cba5e038c8d66b722945d17793c4..296cbfe1aac8dc61a535545f41d3acd39d054901 100644 (file)
--- a/main.c
+++ b/main.c
@@ -736,21 +736,21 @@ static long b_misc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                return -EFAULT;
 
        switch (cmd) {
                return -EFAULT;
 
        switch (cmd) {
-       case 0:
+       case B_IOCTL_ADD:
                ret = b_add_dev(&bic);
                if (!ret && copy_to_user(uarg, &bic, sizeof(bic))) {
                        b_del_dev(&bic);
                        ret = -EFAULT;
                }
                break;
                ret = b_add_dev(&bic);
                if (!ret && copy_to_user(uarg, &bic, sizeof(bic))) {
                        b_del_dev(&bic);
                        ret = -EFAULT;
                }
                break;
-       case 1:
+       case B_IOCTL_DEL:
                ret =  b_del_dev(&bic);
                break;
        default:
                break;
        }
 
                ret =  b_del_dev(&bic);
                break;
        default:
                break;
        }
 
-       return -ENOTTY;
+       return ret;
 }
 
 static const struct file_operations b_misc_fops = {
 }
 
 static const struct file_operations b_misc_fops = {
index 78803a1d2d2873fe9de1dd87008d6a99ffeb7092..9617a8f821294b6c3af2e7126882fd0174dcfecd 100644 (file)
@@ -30,7 +30,7 @@ int main(int argc, char *argv[])
 
        bic.fd = fd;
 
 
        bic.fd = fd;
 
-       if (ioctl(fdb, 0, &bic) < 0) {
+       if (ioctl(fdb, B_IOCTL_ADD, &bic) < 0) {
                perror("ioctl");
                return 1;
        }
                perror("ioctl");
                return 1;
        }
index 5e8116d5623d82fc1c0ce35f6380e8e580b25aa4..fbcd51bb609d8b8b98378515f94f4e2efed885d9 100644 (file)
@@ -34,7 +34,7 @@ int main(int argc, char *argv[])
        bic.minor = minor(sb.st_rdev);
        printf("will delete minor %d\n", bic.minor);
 
        bic.minor = minor(sb.st_rdev);
        printf("will delete minor %d\n", bic.minor);
 
-       if (ioctl(fd, 1, &bic) < 0)
+       if (ioctl(fd, B_IOCTL_DEL, &bic) < 0)
                perror("ioctl");
 
        close(fd);
                perror("ioctl");
 
        close(fd);