From patchwork Mon May 4 17:57:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 226346 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EBCBC3A5A9 for ; Mon, 4 May 2020 18:14:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4025A24962 for ; Mon, 4 May 2020 18:14:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588616060; bh=5RSOwtjdCwwkfZcgxZNKLUw1gyJxdXv2+C7jrbdkHOY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=VnPkwzlGJCeweAHVd+s4Vdgclma5RCMhT8ORYmEvo/yGErrY8YzOWlHFokIkNBswr Va94XaBsS7yAtFm0m7URTs/EWHOBE2WWfKBUXvX/pEK/9lWkHPxLzJuOxu8+A3YT/G txK9GP+0eerlsxmpbrsoSHSNyZO9zKCu/PhfPw6E= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731986AbgEDSOT (ORCPT ); Mon, 4 May 2020 14:14:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:55524 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731038AbgEDSAj (ORCPT ); Mon, 4 May 2020 14:00:39 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 439DC2073B; Mon, 4 May 2020 18:00:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588615238; bh=5RSOwtjdCwwkfZcgxZNKLUw1gyJxdXv2+C7jrbdkHOY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NpSkmrFHUpG+fDc8blJew3BDr7vwvb3nO0UHrOMXm/P9sXNscvw224AtZtfzsM2KY gtmeqXrHpp1HDUNidI88UBFaX8nTOSPTMqkJIyMf5uZMTzCIHhk5GSqcZcvcZYfU2w bny1TQpilEuwrm7BG5SyjMLJ3RIGUYk7YuY4uvIs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Bart Van Assche , David Disseldorp , "Martin K. Petersen" Subject: [PATCH 4.14 21/26] scsi: target/iblock: fix WRITE SAME zeroing Date: Mon, 4 May 2020 19:57:35 +0200 Message-Id: <20200504165447.183232934@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200504165442.494398840@linuxfoundation.org> References: <20200504165442.494398840@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: David Disseldorp commit 1d2ff149b263c9325875726a7804a0c75ef7112e upstream. SBC4 specifies that WRITE SAME requests with the UNMAP bit set to zero "shall perform the specified write operation to each LBA specified by the command". Commit 2237498f0b5c ("target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout") modified the iblock backend to call blkdev_issue_zeroout() when handling WRITE SAME requests with UNMAP=0 and a zero data segment. The iblock blkdev_issue_zeroout() call incorrectly provides a flags parameter of 0 (bool false), instead of BLKDEV_ZERO_NOUNMAP. The bool false parameter reflects the blkdev_issue_zeroout() API prior to commit ee472d835c26 ("block: add a flags argument to (__)blkdev_issue_zeroout") which was merged shortly before 2237498f0b5c. Link: https://lore.kernel.org/r/20200419163109.11689-1-ddiss@suse.de Fixes: 2237498f0b5c ("target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout") Reviewed-by: Bart Van Assche Signed-off-by: David Disseldorp Signed-off-by: Martin K. Petersen Signed-off-by: Greg Kroah-Hartman --- drivers/target/target_core_iblock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c @@ -447,7 +447,7 @@ iblock_execute_zero_out(struct block_dev target_to_linux_sector(dev, cmd->t_task_lba), target_to_linux_sector(dev, sbc_get_write_same_sectors(cmd)), - GFP_KERNEL, false); + GFP_KERNEL, BLKDEV_ZERO_NOUNMAP); if (ret) return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;