From nobody Thu Jul 20 12:43:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R6C5n2hKVz4nsbP; Thu, 20 Jul 2023 12:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R6C5n29NPz4CMJ; Thu, 20 Jul 2023 12:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689856989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iq5GyMkhhhfV+CzEIJ9mx6BzEJinMcC2V680VoStIME=; b=LT3QCssP28Emq+PZS/uOu1v39OfyrXf+Ok3pNPgfsH4vbEXnMY1kwjDLb6y2HaFyO0t/t6 ID4g7kP8kXEVWSGL9+hEVN3VLjhX+RnZvTghXfUOpye3nNL2LYBaIjYGSupJgb7JGNGD0p 9beZwJSS/exZmtEO/wsm6+3ogX109xORMmZjQluD3B1kwloYbhL31yYH94ynmRcFKYYR/u bjJZwonfDqBGT5AV7W+lFEP4IXSlYnWR9IwqmiiY2aSIPU8H+UtbD8vCSnQwYiJ0YNhJ+n hUjRJEVC05uanG/WtaPTl/yybPiYz0U9IwRPpVtTHDZLoT/FhA10TCoRKJL5FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689856989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iq5GyMkhhhfV+CzEIJ9mx6BzEJinMcC2V680VoStIME=; b=LfQtaHP4hqJu9cT7NoPhlzWGV9ZCyHmKMXhCtvCiOx6bl4gx6z1JermQtSNGaJVd+BIG1N lQYbVjmNVAdr7WmPPovn0GSOhEZajBJE7g4JHHFyR9x+dSBCGZ045wGv3yafpUy56XXdnz 1oRtwRkL+XiP/RxklKB00LLHy/f+lzefjyClGvCrQBmr64BlhYvJ4yIVawhVnOgBvZUUMZ 354CpaNJ+DSjgTzYV+myQTRYl8oAHVM7kILKlaHIWZOkTMhfabhNrPFLxPAWahceMy4Icb ZVwv4uu90zDK1FWFQ4hL2aKnPwQ/IgxeHp85JY6pht54wc4yUd3b9lloTZr3kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1689856989; a=rsa-sha256; cv=none; b=Px99Lly0DBSPUiaUJLYPeT4tJwyd1A8Eyqo5AwKPUauAs8kusijGBl/iASffQ4U5Fjra5b ztSwPk8HSnrVrDNPZe8op9jJhdVC14outgLZaGmUNtqUt7DX9LZFHM9AzeFElTBlXbTSjx 9ekHcH0SJZCCwlx0sJhasHqlyomkMmH37Kf/Bx3XHAMG8e3q3iDA8TQc9smKYrE1Ul22Eh U9lT/unvgiBf23fCanpj5wSsdS50FeZCYVFODn42i9tKw9UqseGwq7QU6Y4BlYAqEGSbm8 wpwBrMvjbRTIcToNT58gMHI7Q7vyXGNNLG6jC+dq4V8KdX9Eq8fx/ApjipkdBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R6C5n1CtVzWWQ; Thu, 20 Jul 2023 12:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36KCh99N039176; Thu, 20 Jul 2023 12:43:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36KCh9eY039175; Thu, 20 Jul 2023 12:43:09 GMT (envelope-from git) Date: Thu, 20 Jul 2023 12:43:09 GMT Message-Id: <202307201243.36KCh9eY039175@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 08a1dd9ad110 - stable/13 - Revert "VFS: Remove VV_READLINK flag" and "fdescfs: improve linrdlnk mount option" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08a1dd9ad11090df27c4271d7205fb05b8ff62a9 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=08a1dd9ad11090df27c4271d7205fb05b8ff62a9 commit 08a1dd9ad11090df27c4271d7205fb05b8ff62a9 Author: Konstantin Belousov AuthorDate: 2023-07-11 04:58:06 +0000 Commit: Konstantin Belousov CommitDate: 2023-07-20 12:20:09 +0000 Revert "VFS: Remove VV_READLINK flag" and "fdescfs: improve linrdlnk mount option" (cherry picked from commit 9c3bfe2ad07170cd7d3645a7c24f4d80a509c2b7) --- sys/fs/fdescfs/fdesc_vnops.c | 3 +-- sys/kern/vfs_subr.c | 4 +++- sys/kern/vfs_syscalls.c | 2 +- sys/sys/vnode.h | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c index b2ae6964551e..522009550986 100644 --- a/sys/fs/fdescfs/fdesc_vnops.c +++ b/sys/fs/fdescfs/fdesc_vnops.c @@ -469,8 +469,7 @@ fdesc_getattr(struct vop_getattr_args *ap) break; case Fdesc: - vap->va_type = (VFSTOFDESC(vp->v_mount)->flags & - FMNT_LINRDLNKF) == 0 ? VCHR : VLNK; + vap->va_type = (vp->v_vflag & VV_READLINK) == 0 ? VCHR : VLNK; vap->va_nlink = 1; vap->va_size = 0; vap->va_rdev = makedev(0, vap->va_fileid); diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index dd742277a98f..21061984bcc3 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -4263,9 +4263,11 @@ vn_printf(struct vnode *vp, const char *fmt, ...) strlcat(buf, "|VV_MD", sizeof(buf)); if (vp->v_vflag & VV_FORCEINSMQ) strlcat(buf, "|VV_FORCEINSMQ", sizeof(buf)); + if (vp->v_vflag & VV_READLINK) + strlcat(buf, "|VV_READLINK", sizeof(buf)); flags = vp->v_vflag & ~(VV_ROOT | VV_ISTTY | VV_NOSYNC | VV_ETERNALDEV | VV_CACHEDLABEL | VV_VMSIZEVNLOCK | VV_COPYONWRITE | VV_SYSTEM | - VV_PROCDEP | VV_NOKNOTE | VV_DELETED | VV_MD | VV_FORCEINSMQ); + VV_PROCDEP | VV_NOKNOTE | VV_DELETED | VV_MD | VV_FORCEINSMQ | VV_READLINK); if (flags != 0) { snprintf(buf2, sizeof(buf2), "|VV(0x%lx)", flags); strlcat(buf, buf2, sizeof(buf)); diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index b7cdac8540da..7f7836450811 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -2660,7 +2660,7 @@ kern_readlink_vp(struct vnode *vp, char *buf, enum uio_seg bufseg, size_t count, if (error != 0) return (error); #endif - if (vp->v_type != VLNK) + if (vp->v_type != VLNK && (vp->v_vflag & VV_READLINK) == 0) return (EINVAL); aiov.iov_base = buf; diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index e79bd1c9ddba..fdf3b8f0e5fd 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -271,7 +271,7 @@ struct xvnode { #define VV_DELETED 0x0400 /* should be removed */ #define VV_MD 0x0800 /* vnode backs the md device */ #define VV_FORCEINSMQ 0x1000 /* force the insmntque to succeed */ -#define VV_UNUSED01 0x2000 /* was: fdescfs linux vnode */ +#define VV_READLINK 0x2000 /* fdescfs linux vnode */ #define VV_UNREF 0x4000 /* vunref, do not drop lock in inactive() */ #define VV_UNLINKED 0x8000 /* unlinked but stil open directory */