Lines Matching full:disk
8 * Linux scsi disk driver by
140 static inline struct scsi_cd *scsi_cd(struct gendisk *disk)
142 return disk->private_data;
302 struct scsi_cd *cd = scsi_cd(rq->q->disk);
342 if (error_sector < get_capacity(cd->disk) &&
344 set_capacity(cd->disk, error_sector);
369 cd = scsi_cd(rq->q->disk);
487 static int sr_block_open(struct gendisk *disk, blk_mode_t mode)
489 struct scsi_cd *cd = scsi_cd(disk);
497 if (disk_check_media_change(disk)) {
513 static void sr_block_release(struct gendisk *disk)
515 struct scsi_cd *cd = scsi_cd(disk);
558 static unsigned int sr_block_check_events(struct gendisk *disk,
561 struct scsi_cd *cd = disk->private_data;
568 static void sr_free_disk(struct gendisk *disk)
570 struct scsi_cd *cd = disk->private_data;
573 clear_bit(MINOR(disk_devt(disk)), sr_index_bits);
614 struct gendisk *disk;
628 disk = blk_mq_alloc_disk_for_queue(sdev->request_queue,
630 if (!disk)
644 disk->major = SCSI_CDROM_MAJOR;
645 disk->first_minor = minor;
646 disk->minors = 1;
647 sprintf(disk->disk_name, "sr%d", minor);
648 disk->fops = &sr_bdops;
649 disk->flags |= GENHD_FL_REMOVABLE | GENHD_FL_NO_PART;
650 disk->events = DISK_EVENT_MEDIA_CHANGE | DISK_EVENT_EJECT_REQUEST;
651 disk->event_flags = DISK_EVENT_FLAG_POLL | DISK_EVENT_FLAG_UEVENT |
657 cd->disk = disk;
678 set_capacity(disk, cd->capacity);
679 disk->private_data = cd;
681 if (register_cdrom(disk, &cd->cdi))
695 error = device_add_disk(&sdev->sdev_gendev, disk, NULL);
712 put_disk(disk);
795 set_capacity(cd->disk, cd->capacity);
934 struct gendisk *disk = cdi->disk;
941 rq = scsi_alloc_request(disk->queue, REQ_OP_DRV_IN, 0);
946 ret = blk_rq_map_user(disk->queue, rq, NULL, ubuf, len, GFP_KERNEL);
987 del_gendisk(cd->disk);
988 put_disk(cd->disk);