>>>>> "Mike" == Mike Snitzer <snitzer@xxxxxxxxxx> writes: Mike> So that makes 3 different _prominent_ storage vendors, that I am Mike> aware of, that are bitten by their broken storage (relative to Mike> discard and properly advertising which variant they actually Mike> support). I'd much rather deal with the storage vendors (or their Mike> customers) reporting that discards aren't working than mutual Mike> customers reporting that they cannot even install to the storage. More graceful handling of the sense data aside, we do have a couple of options: 1. Now that the provisioning portion seems to be stable in SBC-3 we can nuke the interim spec heuristics and only support devices that report the right thing. This may disable provisioning for some existing users whose arrays run non-compliant firmware. 2. We can add another layer of heuristics based on the RSOC wrapper I introduced for write same. Maybe you could send me sg_opcodes output for the arrays in question? Mike> The ultimate fix is clear: storage vendors need to fix their Mike> storage (2 of the 3 have, 1 is working on it). But a Linux-only Mike> workaround for this series of unfortunate events (particularly as Mike> it happens with multipath in the mix) is to have SCSI classify Mike> certain ILLEGAL_REQUEST as the TARGET_ERROR that they are. I don't have a fundamental problem with your patch. But since we explicitly handle ILLEGAL REQUEST with 0x20 and 0x24 in sd.c I wonder what's broken? We should disable discard support if the WRITE SAME w/ UNMAP fails. I'll see if I can figure out what's going on unless you beat me to it... -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html