From owner-dev-commits-src-all@freebsd.org Fri Mar 19 20:53:31 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C7135AB149; Fri, 19 Mar 2021 20:53:31 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F2GMH0k8cz3sPx; Fri, 19 Mar 2021 20:53:31 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 0B31FAA55; Fri, 19 Mar 2021 20:53:31 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f182.google.com with SMTP id r14so7848353qtt.7; Fri, 19 Mar 2021 13:53:31 -0700 (PDT) X-Gm-Message-State: AOAM5329ye1VThh4wyFolmcb6Gb8ymMQf2juTCmts/1e9Qu/jpYwbTve o3DB+/U/09vtHSTWMyI7LXcDSUAOdPWsGOpn30M= X-Google-Smtp-Source: ABdhPJyCGLgQuQDh6uhGsrKJOxOr9aZS36bJrSVnqfu/sdnf4tJOwKbS4U2a3Hw9wQY7Y6iDZJPK60c3urVsvu2EQJs= X-Received: by 2002:aed:2e62:: with SMTP id j89mr526036qtd.310.1616187210518; Fri, 19 Mar 2021 13:53:30 -0700 (PDT) MIME-Version: 1.0 References: <202103182309.12IN9nXd002407@gitrepo.freebsd.org> In-Reply-To: <202103182309.12IN9nXd002407@gitrepo.freebsd.org> From: Kyle Evans Date: Fri, 19 Mar 2021 15:53:16 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 929acdb19acb - main - fusefs: fix two bugs regarding fcntl file locks To: Alan Somers Cc: src-committers , "" , dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Mar 2021 20:53:31 -0000 On Thu, Mar 18, 2021 at 6:09 PM Alan Somers wrote: > > The branch main has been updated by asomers: > > URL: https://cgit.FreeBSD.org/src/commit/?id=929acdb19acb67cc0e6ee5439df98e28a84d4772 > > commit 929acdb19acb67cc0e6ee5439df98e28a84d4772 > Author: Alan Somers > AuthorDate: 2021-03-18 20:27:27 +0000 > Commit: Alan Somers > CommitDate: 2021-03-18 23:09:10 +0000 > > fusefs: fix two bugs regarding fcntl file locks > > 1) F_SETLKW (blocking) operations would be sent to the FUSE server as > F_SETLK (non-blocking). > > 2) Release operations, F_SETLK with lk_type = F_UNLCK, would simply > return EINVAL. > > PR: 253500 > Reported by: John Millikin > MFC after: 2 weeks > --- > sys/fs/fuse/fuse_vnops.c | 10 +++++++--- > tests/sys/fs/fusefs/flush.cc | 12 ++++++++++- > tests/sys/fs/fusefs/locks.cc | 45 +++++++++++++++++++++++++++++++++++++++++- > tests/sys/fs/fusefs/release.cc | 12 ++++++++++- > 4 files changed, 73 insertions(+), 6 deletions(-) > > diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c > index 5bbde1e278c9..cdbc42f5adf4 100644 > --- a/sys/fs/fuse/fuse_vnops.c > +++ b/sys/fs/fuse/fuse_vnops.c > @@ -437,10 +437,14 @@ fuse_vnop_advlock(struct vop_advlock_args *ap) > op = FUSE_GETLK; > break; > case F_SETLK: > - op = FUSE_SETLK; > + if (flags & F_WAIT) > + op = FUSE_SETLKW; > + else > + op = FUSE_SETLK; > break; > - case F_SETLKW: > - op = FUSE_SETLKW; > + case F_UNLCK: > + op = FUSE_SETLK; > + flags |= F_UNLCK; > break; > default: > return EINVAL; Hi, The committed version of this appears to have brought back the redundant assignment to `flags` Thanks, Kyle Evans