X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fblock%2Faoe%2Faoechr.c;fp=drivers%2Fblock%2Faoe%2Faoechr.c;h=41ae0ede619a84a9be5bef17844dd9dcfb647ca4;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=1bc1cf9603f19c4e4975bb63c1ff5ccbeb09a7cb;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/block/aoe/aoechr.c b/drivers/block/aoe/aoechr.c index 1bc1cf960..41ae0ede6 100644 --- a/drivers/block/aoe/aoechr.c +++ b/drivers/block/aoe/aoechr.c @@ -13,7 +13,6 @@ enum { MINOR_ERR = 2, MINOR_DISCOVER, MINOR_INTERFACES, - MINOR_REVALIDATE, MSGSZ = 2048, NARGS = 10, NMSG = 100, /* message backlog to retain */ @@ -42,7 +41,6 @@ static struct aoe_chardev chardevs[] = { { MINOR_ERR, "err" }, { MINOR_DISCOVER, "discover" }, { MINOR_INTERFACES, "interfaces" }, - { MINOR_REVALIDATE, "revalidate" }, }; static int @@ -64,39 +62,6 @@ interfaces(const char __user *str, size_t size) return 0; } -static int -revalidate(const char __user *str, size_t size) -{ - int major, minor, n; - ulong flags; - struct aoedev *d; - char buf[16]; - - if (size >= sizeof buf) - return -EINVAL; - buf[sizeof buf - 1] = '\0'; - if (copy_from_user(buf, str, size)) - return -EFAULT; - - /* should be e%d.%d format */ - n = sscanf(buf, "e%d.%d", &major, &minor); - if (n != 2) { - printk(KERN_ERR "aoe: %s: invalid device specification\n", - __FUNCTION__); - return -EINVAL; - } - d = aoedev_by_aoeaddr(major, minor); - if (!d) - return -EINVAL; - - spin_lock_irqsave(&d->lock, flags); - d->flags |= DEVFL_PAUSE; - spin_unlock_irqrestore(&d->lock, flags); - aoecmd_cfg(major, minor); - - return 0; -} - void aoechr_error(char *msg) { @@ -149,8 +114,6 @@ aoechr_write(struct file *filp, const char __user *buf, size_t cnt, loff_t *offp case MINOR_INTERFACES: ret = interfaces(buf, cnt); break; - case MINOR_REVALIDATE: - ret = revalidate(buf, cnt); } if (ret == 0) ret = cnt; @@ -162,7 +125,7 @@ aoechr_open(struct inode *inode, struct file *filp) { int n, i; - n = iminor(inode); + n = MINOR(inode->i_rdev); filp->private_data = (void *) (unsigned long) n; for (i = 0; i < ARRAY_SIZE(chardevs); ++i)