Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp4357269rwb; Mon, 16 Jan 2023 22:59:51 -0800 (PST) X-Google-Smtp-Source: AMrXdXv/PBaqM5PwuoWrYU006w5FeltlpWh7xeZIPr9y3x83SXjwcGgrEfO+NIIjyoMJEt21eLhD X-Received: by 2002:a05:6402:381b:b0:47d:88f3:1165 with SMTP id es27-20020a056402381b00b0047d88f31165mr17240409edb.12.1673938790933; Mon, 16 Jan 2023 22:59:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673938790; cv=none; d=google.com; s=arc-20160816; b=CNx72q5OVSkPcbr3IpXq2ANuP35oPdln3CDCbLkmVNUCCfOoHB78Unj2Fk8FxW/YbE qhg2LKy2Rdu2mOISEhBOO36tG36rBWi4wu39f5LjjaZzJz1hUosovc1hRsVZGDjn5eOQ dLmsAN3zS3U7oB5ibs2OjJ4t+pHsgXRW5Svnc7wQnBHii99H8WMr3ilerTvTos4lJzBO kvOjHNiXm9LhUBe+ugl6wqg677+xlQty8HW+taiOf3qlE0p9GHOZGlZnBrAlyZVAWXLj M1ZlTH6sR5OzlUpEwODc0KJKD7mqZAKlN6lBqOfsJWDjJt+5QUObvJ5alEmOPamlLjEv PR/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=G2fBc718CHJqRaXuAFayCeSyiKLl71ld+Up7B7TRtpA=; b=wXc/P1sm+H25E3NZ0q9614cBBuE1iCh/Al7egrGVFcb47noqe1vlqWXni23xOl73Du cxaOkJRgR3Y0iuL+CT7AdHE3w/nY0EFl/XVykG5ik00AOWulO9mA9aQ2EEPTx/560yPB tFByeI9VwKq1eyQ0Su0RCdBP+SFIT+weC2EKnbieEJi2tbjSu69b2zr7l/yQiE7Me4DZ Odx3fa61Kzf/VML9nFiImcemTHhy7+6/pEhyIv3amNIYUp4lu4qO9c7RdfrkqnNilC6S dxQ2tlOyermE2lLcLrIupI/EGMaSvoO4CB1A60WIHN+YPZ3DSTe7xiaRpmPynuW2HxyW 3cUg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x10-20020a056402414a00b00487ceac6d34si9964585eda.137.2023.01.16.22.59.38; Mon, 16 Jan 2023 22:59:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235699AbjAQGn6 (ORCPT + 49 others); Tue, 17 Jan 2023 01:43:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235612AbjAQGnz (ORCPT ); Tue, 17 Jan 2023 01:43:55 -0500 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FF0B1DB8E; Mon, 16 Jan 2023 22:43:54 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr34R1pz4f3p1n; Tue, 17 Jan 2023 14:43:47 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S6; Tue, 17 Jan 2023 14:43:50 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 2/5] blk-iocost: don't allow to configure bio based device Date: Tue, 17 Jan 2023 15:08:03 +0800 Message-Id: <20230117070806.3857142-3-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S6 X-Coremail-Antispam: 1UD129KBjvdXoWrKryxur13Zr1rCr4xJw1fWFg_yoWkAwb_Ca yIgr90gFs5Gay8WF1fAF90vrWfKw4FqFW0vFW7JasxJFn8Xas0yan3Xr18tr45uFWj9a45 Ca9rWw1DJFs7WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb6AFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUXwA2048vs2IY02 0Ec7CjxVAFwI0_Gr0_Xr1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv wVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUjYiiDUUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yu Kuai iocost is based on rq_qos, which can only work for request based device, thus it doesn't make sense to configure iocost for bio based device. Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig Acked-by: Tejun Heo --- block/blk-iocost.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index f1166582fb64..d6256731cae4 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3185,6 +3185,11 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input, return PTR_ERR(bdev); disk = bdev->bd_disk; + if (!queue_is_mq(disk->queue)) { + ret = -EOPNOTSUPP; + goto err; + } + ioc = q_to_ioc(disk->queue); if (!ioc) { ret = blk_iocost_init(disk); @@ -3365,6 +3370,11 @@ static ssize_t ioc_cost_model_write(struct kernfs_open_file *of, char *input, return PTR_ERR(bdev); q = bdev_get_queue(bdev); + if (!queue_is_mq(q)) { + ret = -EOPNOTSUPP; + goto err; + } + ioc = q_to_ioc(q); if (!ioc) { ret = blk_iocost_init(bdev->bd_disk); -- 2.31.1