John Snow <js...@redhat.com> writes: > On the subject of compatibly broken: > Is there any circumstance where the mapping has *any* effect on the > current working behavior? Since we do not support the shorthand syntax > at all currently, there is no code that USES this mapping to do > anything. > > Even if you specify -drive file=...,index=42; the -device that you > currently *must* add simply ignores any index/bus/unit mappings you've > already given the drive -- it doesn't seem to touch or use any > information within the DriveInfo structure at all.
I didn't think this through, and I knew it, so I chose to err on the side of excessive caution by posing the bug-compatibility question. You're right: since -drive if=ide was ignored before, we can change the mapping. > That said, why not make this property retroactive? It won't affect anything. > > Or rather, the property alone won't. What *will* break older command > lines is the fact that we are now supporting the syntactic sugar at > all, but I think this is clearly a bug, and we should not go out of > our way to tolerate broken syntax. Agreed. > Based on the above, I think I will: > > (A) Implement the property for all versions Yes, please. > (B) Change the behavior of ide_drive_get to take the number of > elements in the array, and imply the number of buses instead. If we > decide to roll back older versions to be "compatibly broken," this > will in effect limit us to three drives instead of six (index 0, 2, > and 4) being mapped to ports 0, 1, and 2. > > This requires me touching the board init to adjust the call to > drive_get slightly. Thanks!