From nobody Sun Feb 8 12:52:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1635246445; cv=none; d=zohomail.com; s=zohoarc; b=lu3Nb6B4JT4Mo95+R2uktg2KDmxzQH2B8+++kWtevArmrmUzEvLBiX7lJGyym8+Y4pSxKzixK9IS6kO1PP9C7FOag+1b3gBGqjgukYFfFKurcLr32+d2oRiG4jIXHHXynMBzRyBwG9qpkW0+GRw+5FkiULqIAnH69hDnq3/CDtA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635246445; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EHu43tTTcaWc8n3R3hdRpj46zYzBKMmWw9W/cy/01iE=; b=LrKJIZrP21oKdWPNEqOnrXgAdkC0VtQ80UdUvYd3TuS7XxD46ZOhDhsts/kKmbhYpc2os9C3XdJkEvCFNMElOGKFzx8KBO4OgNfVtMQgam1pQKOq3oJ27cneg2PvjdjJqvNXu33tVXiSxFOoTX/yhWvstsBXmKcUcUe4vLAbVbE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635246445860220.14253192832712; Tue, 26 Oct 2021 04:07:25 -0700 (PDT) Received: from localhost ([::1]:43106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfKIe-00005T-GE for importer@patchew.org; Tue, 26 Oct 2021 07:07:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiE-0002uB-W2 for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:56832) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiC-0004i3-Us for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:46 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-62-9rbrWAwDNiyvxd5qgbJkiQ-1; Tue, 26 Oct 2021 06:29:43 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 53579806693 for ; Tue, 26 Oct 2021 10:29:40 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.39.195.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9AAAB1045E87; Tue, 26 Oct 2021 10:29:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635244184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EHu43tTTcaWc8n3R3hdRpj46zYzBKMmWw9W/cy/01iE=; b=IwjZUyuQYwb0g9GU58npVyqj6DC6B9GMRl/fFcYDW+2JERtBFGLLVnRRvQpXZQ7vMKalXa 6W+vDwt2fDnJ5JhZEetGyT2ZUKbsvaBE1z2nhj/W7RDZoruUOi0aI2/szkgIYnDhDeCeKj LqMOOe5bTYdSmt2fBWP6AvudK3EURHo= X-MC-Unique: 9rbrWAwDNiyvxd5qgbJkiQ-1 From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org Subject: [PULL 1/5] virtiofsd: xattr mapping add a new type "unsupported" Date: Tue, 26 Oct 2021 11:29:29 +0100 Message-Id: <20211026102933.103139-2-dgilbert@redhat.com> In-Reply-To: <20211026102933.103139-1-dgilbert@redhat.com> References: <20211026102933.103139-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dgilbert@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=170.10.133.124; envelope-from=dgilbert@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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: vgoyal@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1635246447584100001 Content-Type: text/plain; charset="utf-8" From: Vivek Goyal Right now for xattr remapping, we support types of "prefix", "ok" or "bad". Type "bad" returns -EPERM on setxattr and hides xattr in listxattr. For getxattr, mapping code returns -EPERM but getxattr code converts it to -ENO= DATA. I need a new semantics where if an xattr is unsupported, then getxattr()/setxattr() return -ENOTSUP and listxattr() should hide the xattr. This is needed to simulate that security.selinux is not supported by virtiofs filesystem and in that case client falls back to some default label specified by policy. So add a new type "unsupported" which returns -ENOTSUP on getxattr() and setxattr() and hides xattrs in listxattr(). For example, one can use following mapping rule to not support security.selinux xattr and allow others. "-o xattrmap=3D/unsupported/all/security.selinux/security.selinux//ok/all//= /" Suggested-by: "Dr. David Alan Gilbert" Signed-off-by: Vivek Goyal Message-Id: Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- docs/tools/virtiofsd.rst | 6 ++++++ tools/virtiofsd/passthrough_ll.c | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/tools/virtiofsd.rst b/docs/tools/virtiofsd.rst index b208f2a6f0..cc31402830 100644 --- a/docs/tools/virtiofsd.rst +++ b/docs/tools/virtiofsd.rst @@ -183,6 +183,12 @@ Using ':' as the separator a rule is of the form: 'ok' as either an explicit terminator or for special handling of certain patterns. =20 +- 'unsupported' - If a client tries to use a name matching 'key' it's + denied using ENOTSUP; when the server passes an attribute + name matching 'prepend' it's hidden. In many ways it's use is very like + 'ok' as either an explicit terminator or for special handling of certain + patterns. + **key** is a string tested as a prefix on an attribute name originating on the client. It maybe empty in which case a 'client' rule will always match on client names. diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough= _ll.c index 38b2af8599..64b5b4fbb1 100644 --- a/tools/virtiofsd/passthrough_ll.c +++ b/tools/virtiofsd/passthrough_ll.c @@ -2465,6 +2465,11 @@ static void lo_flock(fuse_req_t req, fuse_ino_t ino,= struct fuse_file_info *fi, * Automatically reversed on read */ #define XATTR_MAP_FLAG_PREFIX (1 << 2) +/* + * The attribute is unsupported; + * ENOTSUP on write, hidden on read. + */ +#define XATTR_MAP_FLAG_UNSUPPORTED (1 << 3) =20 /* scopes */ /* Apply rule to get/set/remove */ @@ -2636,6 +2641,8 @@ static void parse_xattrmap(struct lo_data *lo) tmp_entry.flags |=3D XATTR_MAP_FLAG_OK; } else if (strstart(map, "bad", &map)) { tmp_entry.flags |=3D XATTR_MAP_FLAG_BAD; + } else if (strstart(map, "unsupported", &map)) { + tmp_entry.flags |=3D XATTR_MAP_FLAG_UNSUPPORTED; } else if (strstart(map, "map", &map)) { /* * map is sugar that adds a number of rules, and must be @@ -2646,8 +2653,8 @@ static void parse_xattrmap(struct lo_data *lo) } else { fuse_log(FUSE_LOG_ERR, "%s: Unexpected type;" - "Expecting 'prefix', 'ok', 'bad' or 'map' in rule %zu= \n", - __func__, lo->xattr_map_nentries); + "Expecting 'prefix', 'ok', 'bad', 'unsupported' or 'm= ap'" + " in rule %zu\n", __func__, lo->xattr_map_nentries); exit(1); } =20 @@ -2749,6 +2756,9 @@ static int xattr_map_client(const struct lo_data *lo,= const char *client_name, if (cur_entry->flags & XATTR_MAP_FLAG_BAD) { return -EPERM; } + if (cur_entry->flags & XATTR_MAP_FLAG_UNSUPPORTED) { + return -ENOTSUP; + } if (cur_entry->flags & XATTR_MAP_FLAG_OK) { /* Unmodified name */ return 0; @@ -2788,7 +2798,8 @@ static int xattr_map_server(const struct lo_data *lo,= const char *server_name, =20 if ((cur_entry->flags & XATTR_MAP_FLAG_SERVER) && (strstart(server_name, cur_entry->prepend, &end))) { - if (cur_entry->flags & XATTR_MAP_FLAG_BAD) { + if (cur_entry->flags & XATTR_MAP_FLAG_BAD || + cur_entry->flags & XATTR_MAP_FLAG_UNSUPPORTED) { return -ENODATA; } if (cur_entry->flags & XATTR_MAP_FLAG_OK) { --=20 2.31.1 From nobody Sun Feb 8 12:52:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1635246447; cv=none; d=zohomail.com; s=zohoarc; b=BM+ToyRvnzpMreAmnqLM9mr19O9ZT7nOOwgNllU4aKMvG34ZhDjwt233eKQT34IA75ZxzrKS+Kajcv6NCnXbq+1uy3SOTfVBUCqs1G2YlW+1NFRmBlZkTx3E3JnYAXDLY8IRthJT9HBuqK2c0Aa2h1xc4RUdw9vI7H4kGBpZzm0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635246447; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Uye296k7RKqFulpK69XM8lsTICdM10NRbCE5xqoJ1Q4=; b=TteyPqOpTtEI5ZyF+U52x7JOxOGVTF/2774rI8US5TjgfUV6g1tck1HRGUoAqNrx83E2ikRX9GpNWHrrbdMNWe+hp4VAjteHxzx6BwWnFO7QjahosukJnzJqsvEzLhamkU8uE6Dkb6aiu1qKlQV+FRFQ880xr/Lyy3Fqv/DlMLA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635246447849914.5441094871398; Tue, 26 Oct 2021 04:07:27 -0700 (PDT) Received: from localhost ([::1]:43166 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfKIg-00007s-M7 for importer@patchew.org; Tue, 26 Oct 2021 07:07:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53000) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiH-00033m-9X for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:49 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:58995) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiF-0004iK-Dg for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:48 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-401-puING16tPXW7EpTfvLBUqQ-1; Tue, 26 Oct 2021 06:29:45 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5C8F780DDE1 for ; Tue, 26 Oct 2021 10:29:41 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.39.195.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9E68F100763D; Tue, 26 Oct 2021 10:29:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635244186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Uye296k7RKqFulpK69XM8lsTICdM10NRbCE5xqoJ1Q4=; b=ZPw2L9zHP5WLweasJx2hy/iVoWDYtBMWp6298Fb/xGo7hJIqxdYq+xbNySJLQV2frYH+s2 QW0evMoixfr/uhzkK2DbL+G+oyAFcD/QCqj8k/cxRPvA7Vr8rHBtp8U4/u5usptdlCuBaW MYYJL3Z5VsaWfSZOzZ+DH8Rf113E+Cg= X-MC-Unique: puING16tPXW7EpTfvLBUqQ-1 From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org Subject: [PULL 2/5] virtiofsd: Remove unused virtio_fs_config definition Date: Tue, 26 Oct 2021 11:29:30 +0100 Message-Id: <20211026102933.103139-3-dgilbert@redhat.com> In-Reply-To: <20211026102933.103139-1-dgilbert@redhat.com> References: <20211026102933.103139-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dgilbert@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=dgilbert@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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: vgoyal@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1635246449737100001 Content-Type: text/plain; charset="utf-8" From: Vivek Goyal "struct virtio_fs_config" definition seems to be unused in fuse_virtio.c. Remove it. Signed-off-by: Vivek Goyal Message-Id: <20210930153037.1194279-4-vgoyal@redhat.com> Reviewed-by: Stefan Hajnoczi Signed-off-by: Dr. David Alan Gilbert --- tools/virtiofsd/fuse_virtio.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index 8f4fd165b9..da7b6a76bf 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -82,12 +82,6 @@ struct fv_VuDev { struct fv_QueueInfo **qi; }; =20 -/* From spec */ -struct virtio_fs_config { - char tag[36]; - uint32_t num_queues; -}; - /* Callback from libvhost-user */ static uint64_t fv_get_features(VuDev *dev) { --=20 2.31.1 From nobody Sun Feb 8 12:52:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1635244795; cv=none; d=zohomail.com; s=zohoarc; b=BexhsnWL+nAHr0Bf3ve2mw2u2UvYf5CRmoxLkeDuMUXfvWpPz3fgcfP5GgVeXPBByQ/XImwyRay7wxlPlozeW8/SUcIWv/Y1jP/dGnIGUCtwB12Lb3gJYXJmWjKOmiYYRpMjLn7Oc1tVpNwrReVHVOi06uBNFasdQ+y9Czt+9Wc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635244795; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8YSFq7bBskQsu6wtk6d78JeioHb6gBPhp3TAtAYXYsk=; b=GGH0y6Sa3V9/TMdcyDIGADIVTNfRmIhvo64vnVUqW84IjOb2VgR5s/eIMilFRTMrDsLpTVgT9V4Vx1KfF94oSBKeef6JfuCWaTcAqn13z0ooZxUN+c2ax1ONWyQStQso62sOQh5rV4iirtHbQa3G291cIpc1vHaTBInP7FexaRc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635244795245274.224061635575; Tue, 26 Oct 2021 03:39:55 -0700 (PDT) Received: from localhost ([::1]:45346 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfJs1-00050Q-UH for importer@patchew.org; Tue, 26 Oct 2021 06:39:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiJ-0003Aj-7X for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:38818) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiH-0004iX-H7 for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:50 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-107-LC9zIhAhNAGEfqRDvESI_Q-1; Tue, 26 Oct 2021 06:29:47 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 57914112BA30 for ; Tue, 26 Oct 2021 10:29:42 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.39.195.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id A4CC51042A9C; Tue, 26 Oct 2021 10:29:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635244188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8YSFq7bBskQsu6wtk6d78JeioHb6gBPhp3TAtAYXYsk=; b=CqZPauItEoeEjtYmG0cNaFg36p4RKp258PP6Ih/p5ISjmMGc/EL5RnZUHISnXS1OHkgtlz nsv3pNR59Izn0+9BRcKNSJlNR1RISRO1oZHyCWNz+qe6w0epkSOAD0aGD3uojGpsRfZuCV Ub3ElXgAn+utv5hTATDH1wnn6BVsJrI= X-MC-Unique: LC9zIhAhNAGEfqRDvESI_Q-1 From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org Subject: [PULL 3/5] virtiofsd: Add a helper to send element on virtqueue Date: Tue, 26 Oct 2021 11:29:31 +0100 Message-Id: <20211026102933.103139-4-dgilbert@redhat.com> In-Reply-To: <20211026102933.103139-1-dgilbert@redhat.com> References: <20211026102933.103139-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dgilbert@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=170.10.129.124; envelope-from=dgilbert@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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: vgoyal@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1635244796625100001 Content-Type: text/plain; charset="utf-8" From: Vivek Goyal We have open coded logic to take locks and push element on virtqueue at three places. Add a helper and use it everywhere. Code is easier to read and less number of lines of code. Signed-off-by: Vivek Goyal Message-Id: <20210930153037.1194279-5-vgoyal@redhat.com> Reviewed-by: Stefan Hajnoczi Signed-off-by: Dr. David Alan Gilbert --- tools/virtiofsd/fuse_virtio.c | 45 ++++++++++++++--------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index da7b6a76bf..fcf12db9cd 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -243,6 +243,21 @@ static void vu_dispatch_unlock(struct fv_VuDev *vud) assert(ret =3D=3D 0); } =20 +static void vq_send_element(struct fv_QueueInfo *qi, VuVirtqElement *elem, + ssize_t len) +{ + struct fuse_session *se =3D qi->virtio_dev->se; + VuDev *dev =3D &se->virtio_dev->dev; + VuVirtq *q =3D vu_get_queue(dev, qi->qidx); + + vu_dispatch_rdlock(qi->virtio_dev); + pthread_mutex_lock(&qi->vq_lock); + vu_queue_push(dev, q, elem, len); + vu_queue_notify(dev, q); + pthread_mutex_unlock(&qi->vq_lock); + vu_dispatch_unlock(qi->virtio_dev); +} + /* * Called back by ll whenever it wants to send a reply/message back * The 1st element of the iov starts with the fuse_out_header @@ -253,8 +268,6 @@ int virtio_send_msg(struct fuse_session *se, struct fus= e_chan *ch, { FVRequest *req =3D container_of(ch, FVRequest, ch); struct fv_QueueInfo *qi =3D ch->qi; - VuDev *dev =3D &se->virtio_dev->dev; - VuVirtq *q =3D vu_get_queue(dev, qi->qidx); VuVirtqElement *elem =3D &req->elem; int ret =3D 0; =20 @@ -296,13 +309,7 @@ int virtio_send_msg(struct fuse_session *se, struct fu= se_chan *ch, =20 copy_iov(iov, count, in_sg, in_num, tosend_len); =20 - vu_dispatch_rdlock(qi->virtio_dev); - pthread_mutex_lock(&qi->vq_lock); - vu_queue_push(dev, q, elem, tosend_len); - vu_queue_notify(dev, q); - pthread_mutex_unlock(&qi->vq_lock); - vu_dispatch_unlock(qi->virtio_dev); - + vq_send_element(qi, elem, tosend_len); req->reply_sent =3D true; =20 err: @@ -321,8 +328,6 @@ int virtio_send_data_iov(struct fuse_session *se, struc= t fuse_chan *ch, { FVRequest *req =3D container_of(ch, FVRequest, ch); struct fv_QueueInfo *qi =3D ch->qi; - VuDev *dev =3D &se->virtio_dev->dev; - VuVirtq *q =3D vu_get_queue(dev, qi->qidx); VuVirtqElement *elem =3D &req->elem; int ret =3D 0; g_autofree struct iovec *in_sg_cpy =3D NULL; @@ -430,12 +435,7 @@ int virtio_send_data_iov(struct fuse_session *se, stru= ct fuse_chan *ch, out_sg->len =3D tosend_len; } =20 - vu_dispatch_rdlock(qi->virtio_dev); - pthread_mutex_lock(&qi->vq_lock); - vu_queue_push(dev, q, elem, tosend_len); - vu_queue_notify(dev, q); - pthread_mutex_unlock(&qi->vq_lock); - vu_dispatch_unlock(qi->virtio_dev); + vq_send_element(qi, elem, tosend_len); req->reply_sent =3D true; return 0; } @@ -447,7 +447,6 @@ static void fv_queue_worker(gpointer data, gpointer use= r_data) { struct fv_QueueInfo *qi =3D user_data; struct fuse_session *se =3D qi->virtio_dev->se; - struct VuDev *dev =3D &qi->virtio_dev->dev; FVRequest *req =3D data; VuVirtqElement *elem =3D &req->elem; struct fuse_buf fbuf =3D {}; @@ -589,17 +588,9 @@ out: =20 /* If the request has no reply, still recycle the virtqueue element */ if (!req->reply_sent) { - struct VuVirtq *q =3D vu_get_queue(dev, qi->qidx); - fuse_log(FUSE_LOG_DEBUG, "%s: elem %d no reply sent\n", __func__, elem->index); - - vu_dispatch_rdlock(qi->virtio_dev); - pthread_mutex_lock(&qi->vq_lock); - vu_queue_push(dev, q, elem, 0); - vu_queue_notify(dev, q); - pthread_mutex_unlock(&qi->vq_lock); - vu_dispatch_unlock(qi->virtio_dev); + vq_send_element(qi, elem, 0); } =20 pthread_mutex_destroy(&req->ch.lock); --=20 2.31.1 From nobody Sun Feb 8 12:52:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1635245236; cv=none; d=zohomail.com; s=zohoarc; b=S8n41pc/Ympt41KvBQ9ptInUZ52XY7dzSAc2NfHXbtEStHuL+x5XUmOe9FaqiYkkGgDFBbH8AXdmequAtLpXb1Gwn63DK/U5nVkHk0ir1ytqWvTf4M2LJAo/6qMY9tnF2i7u/L+hQu5YKJpXzx8jDeBO9/XS/TWLdIokHzy9/KI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635245236; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Wb973N1jXsbs8jZ8BWgm+2lUXQuwFwwEn8RBnfJC+nU=; b=FQqu0hKlJVKtqlg9roqYb5j+ltpaGuEiqlOBIi0lK/bSYgnrEXWZhSuWev9Xyt7HaFevP7W1QJKBi9Eu6lH/HKT7HmC01DGygqoLlJgZg3aoovlEcpGUCuOf8dNWbL/HEHxnbxR7dbaB7S2nNUdvT+mxRJtJbhmYpRJ26XJQlfQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 163524523619326.820396313184574; Tue, 26 Oct 2021 03:47:16 -0700 (PDT) Received: from localhost ([::1]:36312 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfJz9-00012K-6O for importer@patchew.org; Tue, 26 Oct 2021 06:47:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53028) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiL-0003Hu-76 for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:43997) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiJ-0004ih-9X for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:52 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-80-QDP6wDUSOq2zP33pN-v5xA-1; Tue, 26 Oct 2021 06:29:49 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 60F37A40FF for ; Tue, 26 Oct 2021 10:29:43 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.39.195.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id AE51C100E125; Tue, 26 Oct 2021 10:29:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635244190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Wb973N1jXsbs8jZ8BWgm+2lUXQuwFwwEn8RBnfJC+nU=; b=PNj76JfNuApQJ7nj4Kl0ikaEjTbEni9bYz30svsNlRP4mRYqPyUHgXcLaf19/FLGHB+G6G K6LEFtMbYzBDBcoSBdFQJkvdm7MLObM50xHVW/HHt/9bAUNRfLRZOsp3t3NSyVgkCtrmcK Y3s5CrQ9Pzn6Vj0IsFKmXA2i5eTohmA= X-MC-Unique: QDP6wDUSOq2zP33pN-v5xA-1 From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org Subject: [PULL 4/5] virtiofsd: Add a helper to stop all queues Date: Tue, 26 Oct 2021 11:29:32 +0100 Message-Id: <20211026102933.103139-5-dgilbert@redhat.com> In-Reply-To: <20211026102933.103139-1-dgilbert@redhat.com> References: <20211026102933.103139-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dgilbert@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=170.10.133.124; envelope-from=dgilbert@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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: vgoyal@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1635245236963100001 Content-Type: text/plain; charset="utf-8" From: Vivek Goyal Use a helper to stop all the queues. Later in the patch series I am planning to use this helper at one more place later in the patch series. Signed-off-by: Vivek Goyal Message-Id: <20210930153037.1194279-6-vgoyal@redhat.com> Reviewed-by: Stefan Hajnoczi Signed-off-by: Dr. David Alan Gilbert --- tools/virtiofsd/fuse_virtio.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index fcf12db9cd..baead08b28 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -740,6 +740,18 @@ static void fv_queue_cleanup_thread(struct fv_VuDev *v= ud, int qidx) vud->qi[qidx] =3D NULL; } =20 +static void stop_all_queues(struct fv_VuDev *vud) +{ + for (int i =3D 0; i < vud->nqueues; i++) { + if (!vud->qi[i]) { + continue; + } + + fuse_log(FUSE_LOG_INFO, "%s: Stopping queue %d thread\n", __func__= , i); + fv_queue_cleanup_thread(vud, i); + } +} + /* Callback from libvhost-user on start or stop of a queue */ static void fv_queue_set_started(VuDev *dev, int qidx, bool started) { @@ -870,15 +882,7 @@ int virtio_loop(struct fuse_session *se) * Make sure all fv_queue_thread()s quit on exit, as we're about to * free virtio dev and fuse session, no one should access them anymore. */ - for (int i =3D 0; i < se->virtio_dev->nqueues; i++) { - if (!se->virtio_dev->qi[i]) { - continue; - } - - fuse_log(FUSE_LOG_INFO, "%s: Stopping queue %d thread\n", __func__= , i); - fv_queue_cleanup_thread(se->virtio_dev, i); - } - + stop_all_queues(se->virtio_dev); fuse_log(FUSE_LOG_INFO, "%s: Exit\n", __func__); =20 return 0; --=20 2.31.1 From nobody Sun Feb 8 12:52:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1635246682; cv=none; d=zohomail.com; s=zohoarc; b=mWbnMe9W2LEzBMv1uLboVOZ7Yyamk+w0cy6iHRsuLb2wgWYko3FrRYfviELw84VJEuLMS5iDLRNKAd0W7XH9mz1fQ/By94j0HPuCZRqK4KcWi3sCGlVhQVIW5x5kUsfM6bNcfmIY1cEA8NXGTDBDRymMtyvJaC8KMu0CS84JFsk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635246682; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nhY0US1Pzg2IsbywAGvvPhkmFTIXgdohpxdTEUK5FG0=; b=XGQKkRKpd8KMtLj2ie9WUlRHzJBg7mjLvus9hbBFwixWv5Dbymdoi8tk34xVER39ILxYDDOSyW2ch5mVP6YK/whrQnUcmHyy0P+90CSHuCYZH+YpLRfZegxO+QpWcbyftCp8TtJl1JM4p7aTp+pcVbUUZysVdpKA1i1+6UBAs+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635246682233442.95531457635684; Tue, 26 Oct 2021 04:11:22 -0700 (PDT) Received: from localhost ([::1]:47548 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfKMS-0003hB-Qz for importer@patchew.org; Tue, 26 Oct 2021 07:11:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiO-0003Xj-QJ for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:22653) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfJiN-0004ix-93 for qemu-devel@nongnu.org; Tue, 26 Oct 2021 06:29:56 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-309-_TVwi_KCOESPtzInPXlTHg-1; Tue, 26 Oct 2021 06:29:53 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 627471006AD5 for ; Tue, 26 Oct 2021 10:29:44 +0000 (UTC) Received: from dgilbert-t580.localhost (unknown [10.39.195.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id ADF151042AEF; Tue, 26 Oct 2021 10:29:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635244194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nhY0US1Pzg2IsbywAGvvPhkmFTIXgdohpxdTEUK5FG0=; b=TKsK87U6FXOqzJjsaPoSXTJc3MReKcnqPfTBdv1mad/mkwScOVw4fwVG2m8kSSJpyUru6S YuZjGyXyW7BBqXYXBstFVb+Y3KXAVYY4ONBg2QZQnmnJskAdYCEBnL8sQKY+9vuG+vqiWN w0KdN2bYerSfu+wzwOJtqN4+9fYng14= X-MC-Unique: _TVwi_KCOESPtzInPXlTHg-1 From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org Subject: [PULL 5/5] virtiofsd: Error on bad socket group name Date: Tue, 26 Oct 2021 11:29:33 +0100 Message-Id: <20211026102933.103139-6-dgilbert@redhat.com> In-Reply-To: <20211026102933.103139-1-dgilbert@redhat.com> References: <20211026102933.103139-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dgilbert@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=dgilbert@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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: vgoyal@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1635246684254100001 Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Make the '--socket-group=3D' option fail if the group name is unknown: ./tools/virtiofsd/virtiofsd .... --socket-group=3Dzaphod vhost socket: unable to find group 'zaphod' Reported-by: Xiaoling Gao Signed-off-by: Dr. David Alan Gilbert Message-Id: <20211014122554.34599-1-dgilbert@redhat.com> Reviewed-by: Vivek Goyal Signed-off-by: Dr. David Alan Gilbert --- tools/virtiofsd/fuse_virtio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index baead08b28..60b96470c5 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -988,6 +988,13 @@ static int fv_create_listen_socket(struct fuse_session= *se) "vhost socket failed to set group to %s (%d): %m\= n", se->vu_socket_group, g->gr_gid); } + } else { + fuse_log(FUSE_LOG_ERR, + "vhost socket: unable to find group '%s'\n", + se->vu_socket_group); + close(listen_sock); + umask(old_umask); + return -1; } } umask(old_umask); --=20 2.31.1