/* Open. Make sure the device is really there.  */
static int ida_open(struct block_device *bdev, fmode_t mode)
/* Open. Make sure the device is really there.  */
static int ida_open(struct block_device *bdev, fmode_t mode)
{
	drv_info_t *drv = get_drv(bdev->bd_disk);
	ctlr_info_t *host = get_host(bdev->bd_disk);
	DBGINFO(printk("ida_open %s\n", bdev->bd_disk->disk_name));
	if (!drv->nr_blks) {
		if (!capable(CAP_SYS_RAWIO))
			return -ENXIO;
		if (!capable(CAP_SYS_ADMIN) && drv != host->drv)
			return -ENXIO;
	}
	host->usage_count++;
	return 0;
}