From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60499 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162933AbdEYXIO (ORCPT ); Thu, 25 May 2017 19:08:14 -0400 From: Nikolaus Rath To: fuse-devel@lists.sourceforge.net, linux-fsdevel Subject: fuse: when are release requests queued? Date: Thu, 25 May 2017 16:08:10 -0700 Message-ID: <87a860r0v9.fsf@thinkpad.rath.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hello, I am trying to debug a sporadic test failure in libfuse (https://github.com/libfuse/libfuse/issues/157). Can someone tell me at which point the fuse kernel module will send a RELEASE request to userspace? Is it possible that this is delayed until after the close() syscall for the last fd has returned and userspace has submitted a different fuse request for the same fs? Looking at fs/fuse/file.c, it looks as if fuse_release() directly calls fuse_request_send_background() to send the request. But at that point I can no longer follow the code. Is it possible for another request to sneak in at this point? Furthermore, does the VFS call fuse_release() directly while handling the close() syscall, or does this happen asynchronously later on? Thanks! -Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB