While checking around code around inventory reservations, I was surprised to see that reserveProductInventory service only checks for QOH quantity greater than zero apart from that when reserveFromInventoryItemInline is called, it checks for ATP confirming system to behave as required.
Everything works fine but this is redundant code and we can have check for ATP at top level so make reservations logic works faster. We can improve this flow by adding ATP check at reserveProductInventory service as well.
We can check QOH being on safer side, but ideally a system will always have lesser ATP than QOH and logically we should only check for ATP while doing reservations.
Same discussion is also available on dev ML.