>>>>> "Damien" == Damien Le Moal <damien.lemoal@xxxxxxx> writes: Damien, Damien> So the conclusion may be that we need to drop everything ? The Damien> mpt3sas patch breaks ZBC now, so that must be removed too. Nah. But it's important that we restrict the rounding to TYPE_FS requests (i.e. I/Os issued by the kernel where we control what's going on). Your patch already does this by virtue of changing sd_done(). So for that reason I'm OK with relocating the rounding from mpt3sas to sd.c. However, I still think it's a fundamental problem that mpt3sas reports completion in terms of "SAS frame bytes (successfully?) transferred" instead of "blocks acknowledged by the target". The drive can obviously not write a partial sector. So that approach to completion reporting seems completely bogus to me. Anyway. My main comment is that it seems like the rounding logic would be better contained in sd_completed_bytes() since that is already doing sanity checking on what's reported. Also, I am no fan of perpetuating the arcane SCSI logging stuff now that we have tracing. So just make it a regular sd_printk(). Thanks! -- Martin K. Petersen Oracle Linux Engineering