Date: Mon, 16 May 2016 16:48:17 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: Alexey Dokuchaev <danfe@FreeBSD.org> Cc: Rick Macklem <rmacklem@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r299753 - head/sys/fs/fuse 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1797334216.102341060.1463431697742.JavaMail.zimbra>