On Mon, 2016-01-18 at 14:09 -0600, mchristi@xxxxxxxxxx wrote: > From: Mike Christie <mchristi@xxxxxxxxxx> > > In a couple places we are not converting to/from the Linux > block layer 512 bytes sectors. > > 1. > > The request queue values and what we do are a mismatch of > things: > > max_discard_sectors - This is in linux block layer 512 byte > sectors. We are just copying this to max_unmap_lba_count. > > discard_granularity - This is in bytes. We are converting it > to Linux block layer 512 byte sectors. > > discard_alignment - This is in bytes. We are just copying > this over. > > The problem is that the core LIO code exports these values in > spc_emulate_evpd_b0 and we use them to test request arguments > in sbc_execute_unmap, but we never convert to the block size > we export to the initiator. If we are not using 512 byte sectors > then we are exporting the wrong values or are checks are off. > And, for the discard_alignment/bytes case we are just plain messed > up. > > 2. > > blkdev_issue_discard's start and number of sector arguments > are supposed to be in linux block layer 512 byte sectors. We are > currently passing in the values we get from the initiator which > might be based on some other sector size. > > There is a similar problem in iblock_execute_write_same where > the bio functions want values in 512 byte sectors but we are > passing in what we got from the initiator. > > Signed-off-by: Mike Christie <mchristi@xxxxxxxxxx> > --- > drivers/target/target_core_device.c | 44 +++++++++++++++++++++++++++ > drivers/target/target_core_file.c | 29 ++++++------------ > drivers/target/target_core_iblock.c | 58 +++++++++--------------------------- > include/target/target_core_backend.h | 3 ++ > 4 files changed, 70 insertions(+), 64 deletions(-) > Applied to target-pending/queue, and will include in the post -rc1 fixes PULL request. Thanks MNC. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html