mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-04-11 16:37:45 -04:00
ata: Prefer using "virtual" sector size where possible
Normally, if a device uses larger physical sector size than the logical size and supports so-called "512e" mode, we let the device deal with partial sector reads/writes. However, if MAX_VIRT_SECTOR_SIZE is defined, we support partitioning/filesystems that use a larger "virtual" sector than the logical sector. typically this matches the physical sector size of the drive, which means that despite a small logical sector size, all I/O is done in terms of the physical sector size. Therefore, when MAX_VIRT_SECTOR_SIZE and MAX_PHYS_SECTOR_SIZE are enabled (currently only ipod5g and ipod6g), prefer software-based partial sector I/O. Change-Id: I0815ad0a2f987b89bb2debfbf3d0ed64cdf85525
This commit is contained in:
parent
120906dc8b
commit
9bf033dd66
3 changed files with 24 additions and 0 deletions
|
|
@ -434,6 +434,11 @@ int disk_mount(int drive)
|
|||
}
|
||||
#endif /* MAX_VIRT_SECTOR_SIZE */
|
||||
}
|
||||
|
||||
#if defined(MAX_VIRT_SECTOR_SIZE) && defined(MAX_PHYS_SECTOR_SIZE)
|
||||
if (mounted)
|
||||
ata_set_phys_sector_mult(disk_sector_multiplier[drive]);
|
||||
#endif
|
||||
}
|
||||
|
||||
disk_writer_unlock();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue