From owner-dev-commits-src-all@freebsd.org Fri Mar 19 21:09:48 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 7D2AE5ABDA3; Fri, 19 Mar 2021 21:09:48 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F2Gk425fPz3t9y; Fri, 19 Mar 2021 21:09:48 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f48.google.com with SMTP id k14-20020a9d7dce0000b02901b866632f29so9845069otn.1; Fri, 19 Mar 2021 14:09:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=d5ZiwTAJbLlLPOXlze3R2EBCrjncavTjmPk2PByLESA=; b=T/DZ73jkccR5QddlfrcrOM9vcdYPu30Jq/JgMMAkl+ohPMkTkr1H/bF4c5WVYPen6N PnoRmr8Tq1OTYBmxEQ84Na7CwfxN981M1To4gCx/p2aq5fpbZqqW9NVLg+h1OJsJMZyF ZvAOcQQhWwDjNVis1sxSBHLHswHXABCHAN68XdVhjrx9LZXcIOobKvvX10Kmva+JMSUE +0g/Q8RzZo8XedvxVHjkaeDKUA8TTEJf87p5peNRxATWC7vJNlnNhty5D651ggKAZXsK oDtrTSTGUbZC3NCVQUWoFlOgObp4HA2+4uo9exYcZlov2+gefp/2RaWEsZSr35Fyz3OI 83eA== X-Gm-Message-State: AOAM530i69j3H5u0c5iVTGdJrDmSd+fGdQIcBNrog+BzuvwH84QJICl8 qAY21Ps4tD7QtzhgJRpl8/lqbwqH8xG1jq1Tg/Nimv6o X-Google-Smtp-Source: ABdhPJz9/nYmAagD8I2pKJjhdUaCplhnvCuxyUfwnLktddSYfhJK9p1GkOxsWIGQCqsiBQc00sg7cqkdlVZDn/UesMY= X-Received: by 2002:a05:6830:2318:: with SMTP id u24mr2488464ote.291.1616188187075; Fri, 19 Mar 2021 14:09:47 -0700 (PDT) MIME-Version: 1.0 References: <202103182309.12IN9nXd002407@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Fri, 19 Mar 2021 15:09:36 -0600 Message-ID: Subject: Re: git: 929acdb19acb - main - fusefs: fix two bugs regarding fcntl file locks To: Kyle Evans Cc: src-committers , "" , dev-commits-src-main@freebsd.org X-Rspamd-Queue-Id: 4F2Gk425fPz3t9y X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 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 21:09:48 -0000 On Fri, Mar 19, 2021 at 2:53 PM Kyle Evans wrote: > 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 > Oh crap. That's what I get for working from multiple computers, I suppose. I'll fix it. Thanks for letting me know. -Alan