Yeah, I realize they don't differentiate between 4KB and 8KB, which is somewhat problematic. On incompatibility, matching via pattern would seem to be a much more sensible idea, otherwise your list needs to be enormous for minor model variations, and it will take a seriously long time to catalogue them all. You'll also need to make changes every time a minor model rev is released, which going forward is likely to be every device released, until they stop lying, which could be a seriously long time. I understand the current method is more accurate, but it's also a maintenance nightmare, and specificity is pretty simply controlled by list order if you need to override an existing pattern for a special-case device. Also, since matching only happens very infrequently, the performance difference should have negligible impact.
Pattern matching could work well, but the current approach works and the time that it would take to implement pattern matching is better spent on higher priority issues.
Originally Posted by pdffs
I actually sort of wonder if it wouldn't have been a better idea to just go ashift=12 by default and potentially have a blacklist for true 512B devices.
Then all of the devices that should use ashift=13 would be given the wrong ashift by default. Unfortunately, there is no magic bullet for this issue.