From owner-svn-src-all@freebsd.org Mon May 16 20:48:27 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C3C0B3E483; Mon, 16 May 2016 20:48:27 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-annu.net.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 7733B1E9A; Mon, 16 May 2016 20:48:25 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) IronPort-PHdr: 9a23:RN7UOxVrzarQO8pZT4JO49ujiyvV8LGtZVwlr6E/grcLSJyIuqrYZhOBt8tkgFKBZ4jH8fUM07OQ6PCxHzZeqs/d4DgrS99laVwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfTR8Kum9IIPOlcP/j7n0oM2CJV8Wz2PhMftbF1afk0b4joEum4xsK6I8mFPig0BjXKBo/15uPk+ZhB3m5829r9ZJ+iVUvO89pYYbCf2pN58/V6BVAHw8Pms0/Naj9UWbDFjH2nxJe2EbghdZSyTC7wzxXp78rGOuuuN71iSyE9f7QJoPdXKl9ag9GzHyjyJSDT8y8ynyg8dziK9e6Ea7ohV0wIrZZamIM/Vjc6fFfZURTDwSDY5qSyVdD9bkPMM0BO0bMLME94Q= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DPAQBiMTpX/61jaINdhAx+BrlnAQ2BdiKFbwKBZxQBAQEBAQEBAWQngi2CFgEBBCNWEAIBCA4KAgINGQICVwIEiEIOr1GRHgEBAQEBAQEBAQEBAQEBAQEBARoFgQGFJIRNhz+CWQWYJ4V+igmHeYU3jz8CHgEBQoQIIDIBhwZ/AQEB X-IronPort-AV: E=Sophos;i="5.26,627,1459828800"; d="scan'208";a="283715838" Received: from nipigon.cs.uoguelph.ca (HELO zcs1.mail.uoguelph.ca) ([131.104.99.173]) by esa-annu.net.uoguelph.ca with ESMTP; 16 May 2016 16:48:18 -0400 Received: from localhost (localhost [127.0.0.1]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id A62FE15F56E; Mon, 16 May 2016 16:48:18 -0400 (EDT) Received: from zcs1.mail.uoguelph.ca ([127.0.0.1]) by localhost (zcs1.mail.uoguelph.ca [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id v-7LYJ4NTGMd; Mon, 16 May 2016 16:48:18 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id 152CE15F571; Mon, 16 May 2016 16:48:18 -0400 (EDT) X-Virus-Scanned: amavisd-new at zcs1.mail.uoguelph.ca Received: from zcs1.mail.uoguelph.ca ([127.0.0.1]) by localhost (zcs1.mail.uoguelph.ca [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Pt17D9OPW3rR; Mon, 16 May 2016 16:48:17 -0400 (EDT) Received: from zcs1.mail.uoguelph.ca (zcs1.mail.uoguelph.ca [172.17.95.18]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id E851715F565; Mon, 16 May 2016 16:48:17 -0400 (EDT) Date: Mon, 16 May 2016 16:48:17 -0400 (EDT) From: Rick Macklem To: Alexey Dokuchaev Cc: Rick Macklem , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <1797334216.102341060.1463431697742.JavaMail.zimbra@uoguelph.ca> In-Reply-To: <20160514203542.GA21013@FreeBSD.org> References: <201605142003.u4EK3MwV021470@repo.freebsd.org> <20160514203542.GA21013@FreeBSD.org> Subject: Re: svn commit: r299753 - head/sys/fs/fuse MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.95.11] X-Mailer: Zimbra 8.0.9_GA_6191 (ZimbraWebClient - GC46 (Win)/8.0.9_GA_6191) Thread-Topic: svn commit: r299753 - head/sys/fs/fuse Thread-Index: G13fuideeY5QBbIu86aLbkgsHyu1sQ== X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 May 2016 20:48:27 -0000 Alexey Dokuchaev wrote: > On Sat, May 14, 2016 at 08:03:22PM +0000, Rick Macklem wrote: > > New Revision: 299753 > > URL: https://svnweb.freebsd.org/changeset/base/299753 > > > > Log: > > Fix fuse to use DIRECT_IO when required. > > > > When a file is opened write-only and a partial block was written, > > buffered I/O would try and read the whole block in. This would > > result in a hung thread, since there was no open (fuse filehandle) > > that allowed reading. This patch avoids the problem by forcing > > DIRECT_IO for this case. > > It also sets DIRECT_IO when the file system specifies the FN_DIRECTIO > > flag in its reply to the open. > > Since you're at fuse now, perhaps you could also have a look at PR 195000? > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195000 > > ./danfe > Yea, the patch in PR#195000 looks ok. I'll try to reproduce the crash and if I can test the patch, I can commit it. Or would you prefer to do so? I think fuse can be made to handle special files by creating separate tables of vop methods (like the NFS client does), but that is a fair amount of work, so I think committing this patch to stop the crash makes sense in the meantime. rick