From nobody Wed Nov 19 19:27:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1617911810; cv=none; d=zohomail.com; s=zohoarc; b=M1qg7tAQxB41+QDzlQswbDjNPuAxqyGI++EgSYgZD7w0lWkZYXlgA5tyGUM8bCJj+42KbmYMa91HFog9DzKG6F4ytnazkLbSzkusI2XWJKWstfx848mWCDpOO1tncVmv0BWUmARfxJpT5XzGkwyKDcXqN1xvR4wFVH4l/iJ8rGw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617911810; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=0cXgFcT8xOU8p8L5hm9l9js6IafAhuGK/tDoLr3mTbs=; b=Jb6BVPVfKFpGRyYtZjS8be2hsSa5xOb2U/0ilRit24IBNQfgcyOAwPbQTd/SaQamlDESnbIcq0K61TPsW7azohi0Ghhn/Yp21MlC8Dk8HcqlkCvDbtc17xBL+4H0Ou1NO8svOv2CGBZHFJRX6oz8pZ0IQ7FfZ29gKVANYgKPkw0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617911809555627.015308684073; Thu, 8 Apr 2021 12:56:49 -0700 (PDT) Received: from localhost ([::1]:59644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUalk-00026d-3Y for importer@patchew.org; Thu, 08 Apr 2021 15:56:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44488) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUakq-0001TN-2L for qemu-devel@nongnu.org; Thu, 08 Apr 2021 15:55:52 -0400 Received: from forwardcorp1o.mail.yandex.net ([95.108.205.193]:39388) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUakm-00077h-0Z for qemu-devel@nongnu.org; Thu, 08 Apr 2021 15:55:50 -0400 Received: from iva8-d077482f1536.qloud-c.yandex.net (iva8-d077482f1536.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:2f26:0:640:d077:482f]) by forwardcorp1o.mail.yandex.net (Yandex) with ESMTP id DFB9B2E1AD4; Thu, 8 Apr 2021 22:55:41 +0300 (MSK) Received: from iva4-f06c35e68a0a.qloud-c.yandex.net (iva4-f06c35e68a0a.qloud-c.yandex.net [2a02:6b8:c0c:152e:0:640:f06c:35e6]) by iva8-d077482f1536.qloud-c.yandex.net (mxbackcorp/Yandex) with ESMTP id C5iVsIYM18-tf0KaMP2; Thu, 08 Apr 2021 22:55:41 +0300 Received: from dynamic-iva.dhcp.yndx.net (dynamic-iva.dhcp.yndx.net [2a02:6b8:b080:8923::1:a]) by iva4-f06c35e68a0a.qloud-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id g3k3KHMeAL-tfoiKDEx; Thu, 08 Apr 2021 22:55:41 +0300 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1617911741; bh=0cXgFcT8xOU8p8L5hm9l9js6IafAhuGK/tDoLr3mTbs=; h=Message-Id:Date:Subject:To:From:Cc; b=yVHPMQp91xARDoul5+Ta0953hh4ZgUd7DyH1VYHnbkSWpid9sc2q4HHKrgxMNE3W8 IywF/MoYdcKptMGKqM+HQuNB52PH9u9pwYB4S1puzvv6mEYEbMaHxkelYV/yTYFIWJ vlEPfDY5IRdB46JOkHAjQlWtxAZKSExrwEUQZX7s= Authentication-Results: iva8-d077482f1536.qloud-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Anton Kuchin To: qemu-devel@nongnu.org Subject: [PATCH] vhost-user-fs: fix features handling Date: Thu, 8 Apr 2021 22:55:34 +0300 Message-Id: <20210408195534.647895-1-antonkuchin@yandex-team.ru> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=95.108.205.193; envelope-from=antonkuchin@yandex-team.ru; helo=forwardcorp1o.mail.yandex.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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: virtio-fs@redhat.com, Anton Kuchin , "Dr. David Alan Gilbert" , Stefan Hajnoczi , "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Make virtio-fs take into account server capabilities. Just returning requested features assumes they all of then are implemented by server and results in setting unsupported configuration if some of them are absent. Signed-off-by: Anton Kuchin Reviewed-by: Dr. David Alan Gilbert --- hw/virtio/vhost-user-fs.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index ac4fc34b36..6cf983ba0e 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -24,6 +24,14 @@ #include "monitor/monitor.h" #include "sysemu/sysemu.h" =20 +static const int user_feature_bits[] =3D { + VIRTIO_F_VERSION_1, + VIRTIO_RING_F_INDIRECT_DESC, + VIRTIO_RING_F_EVENT_IDX, + VIRTIO_F_NOTIFY_ON_EMPTY, + VHOST_INVALID_FEATURE_BIT +}; + static void vuf_get_config(VirtIODevice *vdev, uint8_t *config) { VHostUserFS *fs =3D VHOST_USER_FS(vdev); @@ -129,11 +137,12 @@ static void vuf_set_status(VirtIODevice *vdev, uint8_= t status) } =20 static uint64_t vuf_get_features(VirtIODevice *vdev, - uint64_t requested_features, - Error **errp) + uint64_t features, + Error **errp) { - /* No feature bits used yet */ - return requested_features; + VHostUserFS *fs =3D VHOST_USER_FS(vdev); + + return vhost_get_features(&fs->vhost_dev, user_feature_bits, features); } =20 static void vuf_handle_output(VirtIODevice *vdev, VirtQueue *vq) --=20 2.25.1