SMR integration and how to overcome layering issues

This proposal has been accepted as a session.


One Line Summary

This talk will focus on SMR integration with the linux SCSI stack and how layering issues can be overcome


SMR (shingled media recording) requires the OS to read in the list of zones to figure out the zone sizes and the status of the write pointer.
The idea here is that the OS reads the entire list to be able to make correct decisions about where the data should be written to or how I/O should be formatted.

For linux this means that initially we would need to keep the lists of zones at several layers:

- at the libata layer, as the zbc specification requires the SATL to return specific sense codes.
- at the SCSI layer, we might need to keep the write pointer up-to-date
- at the device-mapper layer, as the zone information determines the device-mapper table layout

For efficiency it would be good to keep the zone layout only once within the kernel, but the current layering forbids us to import this layer from other layers.

In this talk I will be presenting the problems during SMR integrations and discuss ways on how to overcome the layering problem.


scsi, SMR, layering