Re: [PATCH 0001/001] xen: multi page ring support for block devices

From: Rusty Russell
Date: Mon Mar 05 2012 - 22:27:48 EST


On Mon, 5 Mar 2012 13:49:07 -0800, Santosh Jodh <Santosh.Jodh@xxxxxxxxxx> wrote:
> +/* Order of maximum shared ring size advertised to the front end. */
> +int xen_blkif_max_ring_order = XENBUS_MAX_RING_ORDER;
> +
> +#define BLK_RING_SIZE(_order) __CONST_RING_SIZE(blkif, PAGE_SIZE << (_order))
> +
> +static int set_max_ring_order(const char *buf, struct kernel_param *kp)
> +{
> + int err;
> + unsigned long order;
> +
> + err = kstrtol(buf, 0, &order);
> + if (err ||
> + order < 0 ||
> + order > XENBUS_MAX_RING_ORDER)
> + return -EINVAL;

Hmm, order can't be < 0, since it's unsigned. So did you mean
kstrtoull?

And I think returning err is cleaner (it's -EINVAL for malformed
strings, -ERANGE for ones too big).

> + if (xen_blkif_reqs < BLK_RING_SIZE(order))
> + printk(KERN_WARNING "WARNING: "
> + "I/O request space (%d reqs) < ring order %ld, "
> + "consider increasing %s.reqs to >= %ld.",
> + xen_blkif_reqs, order, KBUILD_MODNAME,
> + roundup_pow_of_two(BLK_RING_SIZE(order)));

This message doesn't mention the module namr or parameter name
anywhere. Think of the poor sysadmins!

Thanks,
Rusty.
--
How could I marry someone with more hair than me? http://baldalex.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/