qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] raw-posix: Detect CDROM via ioctl


From: Christoph Hellwig
Subject: Re: [Qemu-devel] [PATCH v2] raw-posix: Detect CDROM via ioctl
Date: Tue, 12 Jan 2010 18:11:14 +0100
User-agent: Mutt/1.3.28i

On Tue, Jan 12, 2010 at 10:29:11AM -0500, Cole Robinson wrote:
>  static int cdrom_probe_device(const char *filename)
>  {
> +    int fd, ret, prio;
> +
>      if (strstart(filename, "/dev/cd", NULL))
> -        return 100;
> -    return 0;
> +        prio = 50;
> +
> +    fd = open(filename, O_RDONLY | O_NONBLOCK);
> +    if (fd < 0) {
> +        goto out;
> +    }
> +
> +    /* Attempt to detect via a CDROM specific ioctl */
> +    ret = ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT);
> +    if (!(ret < 0 && errno == EINVAL))
> +        prio = 100;
> +
> +    close(fd);
> +out:
> +    return prio;
>  }

Looks good.  We'll now get an open each from the cdrom and floppy
drivers for each image we're trying to open, but I guess that should be
fine.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]