From owner-svn-src-projects@freebsd.org Tue Sep 3 14:07:28 2019 Return-Path: Delivered-To: svn-src-projects@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 B7A20DDB97 for ; Tue, 3 Sep 2019 14:07:28 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46N80b6y6rz4QdR; Tue, 3 Sep 2019 14:07:27 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1452) id 24F671B6AB; Tue, 3 Sep 2019 14:06:41 +0000 (UTC) X-Original-To: yuripv@localmail.freebsd.org Delivered-To: yuripv@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [96.47.72.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id 7355D1B67C; Wed, 24 Apr 2019 16:48:23 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 308086E061; Wed, 24 Apr 2019 16:48:23 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 538) id 17D911B67B; Wed, 24 Apr 2019 16:48:23 +0000 (UTC) Delivered-To: src-committers@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id CFB501B679 for ; Wed, 24 Apr 2019 16:48:19 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) 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 622D96E05E; Wed, 24 Apr 2019 16:48:19 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf1-f67.google.com with SMTP id t30so15217242lfd.8; Wed, 24 Apr 2019 09:48:19 -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=ENlyLUwK0a5lyaJ9dnDKt0139w5VDW0T7S+OWYySXr8=; b=WiR9PPLYX3+qAFKyo8bhafiV9YWxhtSTWCQICdcMTDw6ag84l5OeVsekB8zpXyHM6I 85ad2Oz9O23QzjMpSUCgUpSM+PWTew+xpo+1q83+Kl15+y9n4ZOW7Xk7jRFKgfBkuyHS WQlCga+CzS/vn0xCagiDk9bZ7ryjqkmZosaeyUR1RowY+YswMyas0CsjD8ONhNU6+lGH 5VBByLz0zJMFSKnUKKaNZqWGjMwmWXEASENYEjxJudAiyysABKpQ8ouaSN12JfcLcB5w QVOZ5idlXz1bZDN1Or7TunVRVEG8171btn8uPxPmKRd8RJ6sNFB5/CHZiBk/Y6FShOmN KGhQ== X-Gm-Message-State: APjAAAWUHUSt7Iegnqugkgx6/8gT9mTvBnCT68RekoJ0Q8n0RHxdb5r7 ZZE6gCBYzSXu6CzPdsYxh4HRdjb9P7BRpTGMrP8= X-Google-Smtp-Source: APXvYqxnJgY2qYecBEz5j7RaY5SoyT81uX0vVjeUe3MlB6KAOQrdqJG60KOha8PS2hS284Fktz9aVZwgUrPUC7Tbf9U= X-Received: by 2002:a05:6512:c8:: with SMTP id c8mr18073911lfp.138.1556124129258; Wed, 24 Apr 2019 09:42:09 -0700 (PDT) MIME-Version: 1.0 References: <201904241554.x3OFsIjw024483@repo.freebsd.org> <20190424162837.GD12936@kib.kiev.ua> In-Reply-To: <20190424162837.GD12936@kib.kiev.ua> From: Alan Somers Message-ID: Subject: Re: svn commit: r346640 - in projects/fuse2/sys: fs/fuse kern To: Konstantin Belousov Cc: src-committers , svn-src-projects@freebsd.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk X-Loop: FreeBSD.org Sender: owner-src-committers@freebsd.org X-Rspamd-Queue-Id: 308086E061 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.975,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Status: O X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Tue, 03 Sep 2019 14:07:29 -0000 X-Original-Date: Wed, 24 Apr 2019 10:41:57 -0600 X-List-Received-Date: Tue, 03 Sep 2019 14:07:29 -0000 On Wed, Apr 24, 2019 at 10:28 AM Konstantin Belousov wrote: > > On Wed, Apr 24, 2019 at 03:54:18PM +0000, Alan Somers wrote: > > Author: asomers > > Date: Wed Apr 24 15:54:18 2019 > > New Revision: 346640 > > URL: https://svnweb.freebsd.org/changeset/base/346640 > > > > Log: > > fusefs: interruptibility improvements suggested by kib > > > > * Block stop signals in fticket_wait_answer > This might be ok, but consider using VFCF_SBDRY. Like the way it's used in nfs_vfsops? > > > * Hold ps_mtx while checking signal disposition > This part is pointless, as explained before. > > > * style(9) changes > And sig_isfatal() is still there, which I consider an architectural bug. Try to think of it as a protocol bug instead. It's not ideal, but this is the way that FUSE is supposed to work. BTW, there actually is a intr/nointr mount option, but it's implemented in userland within libfuse. For FreeBSD we could patch libfuse to implement it kernel-side instead. But fixing the multi-threaded signal delivery logic would require a version of msleep that would only catch fatal signals. Is there such a thing? -Alan > > > > > PR: 346357 > > Reported by: kib > > Sponsored by: The FreeBSD Foundation > > > > Modified: > > projects/fuse2/sys/fs/fuse/fuse_ipc.c > > projects/fuse2/sys/kern/kern_sig.c