From nobody Sun Feb 8 21:48:28 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 15278172292379.387559019253786; Thu, 31 May 2018 18:40:29 -0700 (PDT) Received: from localhost ([::1]:46944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fOZ3M-0003ni-Ez for importer@patchew.org; Thu, 31 May 2018 21:40:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33425) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fOYr9-0003B1-9X for qemu-devel@nongnu.org; Thu, 31 May 2018 21:27:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fOYr8-0003D3-8a for qemu-devel@nongnu.org; Thu, 31 May 2018 21:27:51 -0400 Received: from mail-qt0-x235.google.com ([2607:f8b0:400d:c0d::235]:45394) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fOYr8-0003Cl-4K for qemu-devel@nongnu.org; Thu, 31 May 2018 21:27:50 -0400 Received: by mail-qt0-x235.google.com with SMTP id i18-v6so19637972qtp.12 for ; Thu, 31 May 2018 18:27:50 -0700 (PDT) Received: from localhost.localdomain (96-86-104-61-static.hfc.comcastbusiness.net. [96.86.104.61]) by smtp.gmail.com with ESMTPSA id o68-v6sm2003842qkc.19.2018.05.31.18.27.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 31 May 2018 18:27:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juliacomputing-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=XKoufBc6Rt52qAjMxnrQN7vEz39QaTNJfQ6AgLpZ+Cc=; b=zSBckPBX5NQF0uRjUL/uajdswPSqwaFmSA7D+6Z8LGYMJ+Wo8sOW9EkULYZzDyMpLs a5a/amBWamXPo6Y5adQOknKHH0WgVwogYbGkIjhD+mPcpl5tblMweN5zsPoj4qeLOBTA DcmPPmGFejAAIdfLqlFU+sBISIkGVLg2EpWj3CT+apqiyUA5wT8aTght0rd35IGiif37 sX4QeU9AKW9IobIoR9/gm5b4MqEO1mhVrfX4hOf+pvtbgUXRoLt0HjVi3c+qbJmNx1ZZ hjRZMMKZlv3CugGS22aHSq+ub2hHC16GzaKP53OAzsMsKxpGp3uEOJJAmA54HmsLnORQ ofxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=XKoufBc6Rt52qAjMxnrQN7vEz39QaTNJfQ6AgLpZ+Cc=; b=KQ5sdmA+M2DAk4fTLjs0sQWRBCX6U7+yxf0uqySwitZ6zAHjxbxKhjzb6mOruEZYv/ pULnTz0WGe6be5oPCRwl57jauEEyym+WG7WD20JEe0pX4il7pNb4KmX86nhLduAseAS0 QcmMLcU/awMWMrjv2mcuW/MSnw5Dvu2O96NMo9cFGza0GWyos0wYucI+VmJ1GEr8aCid lYN4h6lzorXrRNxHxg0u01TKpcQ6+sdyvimTmgKAIAV8S2BMixOf8o6u406wi6mMGHwO FWN6NAPJz+tZhwdNx8u9cdG+Gn3eAgbIDwWJq9OORTlM/fgT38r1ctXqvVusRkVRCZd+ qfhw== X-Gm-Message-State: APt69E3DCc7DoTsAH/spnVUtq0nxcAwjCFddAOeGBiXPRc7Nikyuy3B9 guD3ovCYAnU2yg4afwraV8ZlJaj4oCg= X-Google-Smtp-Source: ADUXVKICwYqny8rHT26E2ReSybaNZ5kTUARLxrVlbCvgqX6K9cxHe86+mP/F9G7DrE2KiHgxlZlnbQ== X-Received: by 2002:ac8:2f2a:: with SMTP id j39-v6mr9212864qta.74.1527816469182; Thu, 31 May 2018 18:27:49 -0700 (PDT) From: Keno Fischer To: qemu-devel@nongnu.org Date: Thu, 31 May 2018 21:26:10 -0400 Message-Id: <5d222847166f7f3f2b05e7e8a0a0ab3d7520b49d.1527814874.git.keno@juliacomputing.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::235 Subject: [Qemu-devel] [PATCH v2 15/20] 9p: darwin: *xattr_nofollow implementations X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Keno Fischer , groug@kaod.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This implements the darwin equivalent of the functions that were moved to 9p-util(-linux) earlier in this series in the new 9p-util-darwin file. Signed-off-by: Keno Fischer --- Changes from v1: * New 9p-util-darwin.c rather than ifdefs in 9p-util.c * Drop incorrect AT_NOFOLLOW from the actual call hw/9pfs/9p-util-darwin.c | 64 ++++++++++++++++++++++++++++++++++++++++++++= ++++ hw/9pfs/Makefile.objs | 1 + 2 files changed, 65 insertions(+) create mode 100644 hw/9pfs/9p-util-darwin.c diff --git a/hw/9pfs/9p-util-darwin.c b/hw/9pfs/9p-util-darwin.c new file mode 100644 index 0000000..cdb4c9e --- /dev/null +++ b/hw/9pfs/9p-util-darwin.c @@ -0,0 +1,64 @@ +/* + * 9p utilities (Darwin Implementation) + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "qemu/xattr.h" +#include "9p-util.h" + +ssize_t fgetxattrat_nofollow(int dirfd, const char *filename, const char *= name, + void *value, size_t size) +{ + int ret; + int fd =3D openat_file(dirfd, filename, + O_RDONLY | O_PATH_9P_UTIL | O_NOFOLLOW, 0); + if (fd =3D=3D -1) { + return -1; + } + ret =3D fgetxattr(fd, name, value, size, 0, 0); + close_preserve_errno(fd); + return ret; +} + +ssize_t flistxattrat_nofollow(int dirfd, const char *filename, + char *list, size_t size) +{ + int ret; + int fd =3D openat_file(dirfd, filename, + O_RDONLY | O_PATH_9P_UTIL | O_NOFOLLOW, 0); + if (fd =3D=3D -1) { + return -1; + } + ret =3D flistxattr(fd, list, size, 0); + close_preserve_errno(fd); + return ret; +} + +ssize_t fremovexattrat_nofollow(int dirfd, const char *filename, + const char *name) +{ + int ret; + int fd =3D openat_file(dirfd, filename, O_PATH_9P_UTIL | O_NOFOLLOW, 0= ); + if (fd =3D=3D -1) { + return -1; + } + ret =3D fremovexattr(fd, name, 0); + close_preserve_errno(fd); + return ret; +} + +int fsetxattrat_nofollow(int dirfd, const char *filename, const char *name, + void *value, size_t size, int flags) +{ + int ret; + int fd =3D openat_file(dirfd, filename, O_PATH_9P_UTIL | O_NOFOLLOW, 0= ); + if (fd =3D=3D -1) { + return -1; + } + ret =3D fsetxattr(fd, name, value, size, 0, flags); + close_preserve_errno(fd); + return ret; +} diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs index 083508f..24a8695 100644 --- a/hw/9pfs/Makefile.objs +++ b/hw/9pfs/Makefile.objs @@ -1,5 +1,6 @@ common-obj-y =3D 9p.o common-obj-$(CONFIG_LINUX) +=3D 9p-util-linux.o +common-obj-$(CONFIG_DARWIN) +=3D 9p-util-darwin.o common-obj-y +=3D 9p-local.o 9p-xattr.o common-obj-y +=3D 9p-xattr-user.o 9p-posix-acl.o common-obj-y +=3D coth.o cofs.o codir.o cofile.o --=20 2.8.1