Re: [fuse-devel] [BUG] fuse: request prepared before protocol version is known

From: Miklos Szeredi
Date: Thu Jan 08 2015 - 09:14:22 EST


On Tue, Dec 23, 2014 at 6:58 PM, Eric Biggers <ebiggers3@xxxxxxxxx> wrote:
> I am using Linux 3.19-rc1 and I encountered a bug where stat() would
> sporatically fail with EIO when called on a file in a FUSE filesystem very
> shortly after that filesystem has been mounted. This is a regression caused by
> commit 7078187a: "fuse: introduce fuse_simple_request() helper".
>
> The underlying issue is that the arguments to the FUSE request are being
> initialized before the protocol version (fc->minor) is known. This was not a
> problem with the old code because fuse_get_req() will wait until the channel has
> been initialized.
>
> The only potential solutions I have in mind are adding an explicit waits in all
> the needed places, or reverting the commit.

Thanks for the report. See for-linus branch of

git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-linus

for the fix.

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/