lkml.org 
[lkml]   [2007]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [Xen-devel] Re: [patch 20/20] XEN-paravirt: Add Xen virtual block device driver.
    Date
    > > +
    > > + err = xenbus_printf(xbt, dev->nodename,
    > > + "ring-ref","%u", info->ring_ref);
    >
    > why do you need your own printf?

    xenbus_printf isn't a printf replacement - it is used for writing a formatted
    string into XenStore (which contains VM configuration data in a
    human-readable form).

    Internally it does a vsnprintf into a buffer and writes the resulting string
    to the XenStore.

    Cheers,
    Mark

    > > +static inline int GET_ID_FROM_FREELIST(
    >
    > does this really need screaming?
    >
    > > +
    > > +int blkif_ioctl(struct inode *inode, struct file *filep,
    > > + unsigned command, unsigned long argument)
    > > +{
    > > + int i;
    > > +
    > > + DPRINTK_IOCTL("command: 0x%x, argument: 0x%lx, dev: 0x%04x\n",
    > > + command, (long)argument, inode->i_rdev);
    > > +
    > > + switch (command) {
    > > + case CDROMMULTISESSION:
    > > + DPRINTK("FIXME: support multisession CDs later\n");
    > > + for (i = 0; i < sizeof(struct cdrom_multisession); i++)
    > > + if (put_user(0, (char __user *)(argument + i)))
    > > + return -EFAULT;
    > > + return 0;
    > > +
    > > + default:
    > > + /*printk(KERN_ALERT "ioctl %08x not supported by Xen blkdev\n",
    > > + command);*/
    > > + return -EINVAL; /* same return as native Linux */
    > > + }
    >
    > eh so you implement no ioctls.. why then implement the ioctl method at
    > all?

    I'm not familiar with this code... but perhaps the (fake) multisession
    handling is to keep userspace that queries this happy? I can't really think
    of anywhere this would apply off the top of my head, though.

    Cheers,
    Mark

    > > +static struct xenbus_driver blkfront = {
    > > + .name = "vbd",
    > > + .owner = THIS_MODULE,
    > > + .ids = blkfront_ids,
    > > + .probe = blkfront_probe,
    > > + .remove = blkfront_remove,
    > > + .resume = blkfront_resume,
    > > + .otherend_changed = backend_changed,
    > > +};
    >
    > this can be const
    >
    > > +
    > > +#define DPRINTK(_f, _a...) pr_debug(_f, ## _a)
    >
    > why this silly abstraction? Just use pr_debug in the code directly
    >
    >
    >
    >
    > _______________________________________________
    > Xen-devel mailing list
    > Xen-devel@lists.xensource.com
    > http://lists.xensource.com/xen-devel

    --
    Dave: Just a question. What use is a unicyle with no seat? And no pedals!
    Mark: To answer a question with a question: What use is a skateboard?
    Dave: Skateboards have wheels.
    Mark: My wheel has a wheel!
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-16 05:17    [W:0.025 / U:0.532 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site