From patchwork Tue Jun 2 07:41:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lin Ma X-Patchwork-Id: 1302127 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=d5Ay+BPf; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49bkXy4SYNz9sSd for ; Tue, 2 Jun 2020 17:42:57 +1000 (AEST) Received: from localhost ([::1]:50810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jg1ZV-0003la-H3 for incoming@patchwork.ozlabs.org; Tue, 02 Jun 2020 03:42:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54768) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jg1Z9-0003lO-H8 for qemu-devel@nongnu.org; Tue, 02 Jun 2020 03:42:31 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:40626) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jg1Z8-0000Ya-Jm for qemu-devel@nongnu.org; Tue, 02 Jun 2020 03:42:31 -0400 Received: by mail-wr1-x42a.google.com with SMTP id h5so2279501wrc.7 for ; Tue, 02 Jun 2020 00:42:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Dl7qwPIjpiReQNrAUIJJVhycR1fAx/sgBtSqOt0jn5g=; b=d5Ay+BPfObaxqsRIjUExsIIhnhsOg1N06yvfIXhCXf8y1cn8qRDvdQ104zMJ+ewT0Y aVITlfZ/XvgxFQLDj5O1+pRtwfI7MM5T0c0Jwg0u8NdCmUUtF+CmZs1A0Z3FXl/zikMc Sok/WdH6iUH4VlTn9DVgQbJPBDrR6nFGFkxmviUnLAWxb5L0PMT5ynHwfmiyzH7NdrJN fCbmlbFQuKOVt8CxTPLevvm/y+RxBYySympq+/yxTFZXs8lhSWNZHrDio35+SMtb+z/Y YoS0z0xCS4wuJ6ejN0xq07PLD/TDVlBqjnC3CjoVUWD25TIdtMMKJnYaVgY7Sjez9Ax5 SYXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=Dl7qwPIjpiReQNrAUIJJVhycR1fAx/sgBtSqOt0jn5g=; b=q2lSHIV9sRo5I05ha3jdLFzWFauqtoHmbAJNFAFU8h8p/WkkV8ly492sBqTXq+TmYs OEnalOc9I9U6PGUlGgMFSeG4sE02JLhdg017oe04BeDUiqQ1OI2Nrx4X3R2ZgOn99AX0 qit5pxDR4sDGg/1AMVVymeOkOn3aY7qm6lV3UB2rQrZjOGu0GGtEkqs7DdEaAO37G1V1 SeSByPWdHGMUSNhrpo5UvDvgc9LystzX7EdPAVaDFoNjQX5pvwSq9i6xzfBbwHbXg7eI Gt9Qlg5EtwI8bIH4M5Whgfg3CwqSxpjsmBweYhAlq2erwbjhy5HAYRNCeTcL0QEa/D7f v6ug== X-Gm-Message-State: AOAM531c4n8S/NFI08yS0f/BqO2Zi3/Xd4rg4b42HvJeffhwDxQjMgPL mCk5hJnnDQyBtFJ0sCPR4AIcpRO5xGk= X-Google-Smtp-Source: ABdhPJwzdTdWWqQDmu5doqECE4xAsiAOtEZHRg8phqtTw30HHGTnDKQRrdC8GWpKnWL4REHd/7VduQ== X-Received: by 2002:adf:f74e:: with SMTP id z14mr26042036wrp.338.1591083748002; Tue, 02 Jun 2020 00:42:28 -0700 (PDT) Received: from t440p.suse.asia (60-251-47-115.HINET-IP.hinet.net. [60.251.47.115]) by smtp.gmail.com with ESMTPSA id w3sm2294518wmg.44.2020.06.02.00.42.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2020 00:42:27 -0700 (PDT) From: Lin Ma To: qemu-devel@nongnu.org Subject: [PATCH 0/4] Add Support for GET LBA STATUS 16 command in scsi emulation Date: Tue, 2 Jun 2020 15:41:57 +0800 Message-Id: <20200602074201.10879-1-lma@suse.com> X-Mailer: git-send-email 2.26.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=morecache@gmail.com; helo=mail-wr1-x42a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, stefanha@redhat.com, Lin Ma Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" In this current design, The GET LBA STATUS parameter data only contains an eight-byte header + one LBA status descriptor. How to test: host:~ # qemu-system-x86_64 \ ... -drive file=/vm0/disk0.raw,format=raw,if=none,id=drive0,discard=unmap \ -device scsi-hd,id=scsi0,drive=drive0 \ ... guest:~ # dd if=/dev/zero of=/dev/sda bs=512 seek=1024 count=256 guest:~ # sg_unmap -l 1024 -n 32 /dev/sda guest:~ # sg_get_lba_status /dev/sda -l 1024 No indication of the completion condition RTP=0 descriptor LBA: 0x0000000000000400 blocks: 32 deallocated Lin Ma (4): block: Add bdrv_co_get_lba_status block: Add GET LBA STATUS support block: Add block accounting code for GET LBA STATUS scsi-disk: Add support for the GET LBA STATUS 16 command block/block-backend.c | 38 ++++++++++++++ block/io.c | 43 ++++++++++++++++ hw/scsi/scsi-disk.c | 92 ++++++++++++++++++++++++++++++++++ include/block/accounting.h | 1 + include/scsi/constants.h | 1 + include/sysemu/block-backend.h | 2 + 6 files changed, 177 insertions(+)