diff options
author | James Bottomley <jejb@titanic.(none)> | 2005-08-28 18:40:00 +0200 |
---|---|---|
committer | James Bottomley <jejb@titanic.(none)> | 2005-08-28 18:40:00 +0200 |
commit | ba482ef4b16bad5172d2be693d4b2420b84c84e7 (patch) | |
tree | 8da2f7f2e223a4ba4c64ef30daa7a2c6154f85d7 /drivers/scsi/sr.c | |
parent | [SCSI] fix sense buffer length handling problem (diff) | |
parent | [SCSI] sr.c: Fix getting wrong size (diff) | |
download | linux-ba482ef4b16bad5172d2be693d4b2420b84c84e7.tar.xz linux-ba482ef4b16bad5172d2be693d4b2420b84c84e7.zip |
Merge by hand (conflicts in sr.c)
Diffstat (limited to 'drivers/scsi/sr.c')
-rw-r--r-- | drivers/scsi/sr.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index 39fc5b0fbc18..ce63fc8312dc 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -199,15 +199,7 @@ int sr_media_change(struct cdrom_device_info *cdi, int slot) /* check multisession offset etc */ sr_cd_check(cdi); - /* - * If the disk changed, the capacity will now be different, - * so we force a re-read of this information - * Force 2048 for the sector size so that filesystems won't - * be trying to use something that is too small if the disc - * has changed. - */ - cd->needs_sector_size = 1; - cd->device->sector_size = 2048; + get_sectorsize(cd); } return retval; } @@ -538,13 +530,6 @@ static int sr_open(struct cdrom_device_info *cdi, int purpose) if (!scsi_block_when_processing_errors(sdev)) goto error_out; - /* - * If this device did not have media in the drive at boot time, then - * we would have been unable to get the sector size. Check to see if - * this is the case, and try again. - */ - if (cd->needs_sector_size) - get_sectorsize(cd); return 0; error_out: @@ -604,7 +589,6 @@ static int sr_probe(struct device *dev) cd->driver = &sr_template; cd->disk = disk; cd->capacity = 0x1fffff; - cd->needs_sector_size = 1; cd->device->changed = 1; /* force recheck CD type */ cd->use = 1; cd->readcd_known = 0; @@ -682,7 +666,6 @@ static void get_sectorsize(struct scsi_cd *cd) if (the_result) { cd->capacity = 0x1fffff; sector_size = 2048; /* A guess, just in case */ - cd->needs_sector_size = 1; } else { #if 0 if (cdrom_get_last_written(&cd->cdi, @@ -715,7 +698,6 @@ static void get_sectorsize(struct scsi_cd *cd) printk("%s: unsupported sector size %d.\n", cd->cdi.name, sector_size); cd->capacity = 0; - cd->needs_sector_size = 1; } cd->device->sector_size = sector_size; @@ -724,7 +706,6 @@ static void get_sectorsize(struct scsi_cd *cd) * Add this so that we have the ability to correctly gauge * what the device is capable of. */ - cd->needs_sector_size = 0; set_capacity(cd->disk, cd->capacity); } @@ -736,8 +717,7 @@ out: Enomem: cd->capacity = 0x1fffff; - sector_size = 2048; /* A guess, just in case */ - cd->needs_sector_size = 1; + cd->device->sector_size = 2048; /* A guess, just in case */ goto out; } |