Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Sep 2016 16:41:27 -0400
From:      Jim Ohlstein <jim@ohlste.in>
To:        Konstantin Belousov <kostikbel@gmail.com>, Alan Somers <asomers@freebsd.org>
Cc:        FreeBSD Stable ML <freebsd-stable@freebsd.org>, np@FreeBSD.org
Subject:   Re: AIO not working on NFS share - ? Regression
Message-ID:  <87af720e-7506-d1de-9f93-f9d5a2589f7a@ohlste.in>
In-Reply-To: <20160905203412.GQ83214@kib.kiev.ua>
References:  <6c9093cd-1323-77b1-b27e-f53b58ec86e4@ohlste.in> <CAOtMX2iWaYq9ujgZ3bWx3YYo5ESgz5hp6epo=rbro7yDU2QESQ@mail.gmail.com> <20160905203412.GQ83214@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,

On 09/05/2016 04:34 PM, Konstantin Belousov wrote:
> On Mon, Sep 05, 2016 at 02:26:30PM -0600, Alan Somers wrote:
>> Just to get your webserver out of the picture, could you please try
>> running the aio test suite on an NFS share?  Do it like this:
>> $ cd /usr/tests/sys/aio
>> $ export TMPFS=/path/to/some/nfs/share
>> $ kyua test
> By default, unsafe aio is disabled, i.e. aio where the operation is not
> really async and can usurp kernel thread for indefinite amount of time.
> Non-local filesystems accesses are classified as unsafe, since their
> completion is controlled by remote host.

Setting vfs.aio.enable_unsafe to 1 solved the problem, though I don't 
recall this being necessary in the past.

Thanks for the quick responses and fix.

>
>>
>> -Alan
>>
>> On Mon, Sep 5, 2016 at 2:14 PM, Jim Ohlstein <jim@ohlste.in> wrote:
>>> Hello,
>>>
>>> For sometime now we've used a backend (non-internet accessible) server to
>>> generate static content that is shared via NFS to a front-end server for
>>> internet access. Both machines use ZFS exclusively.
>>>
>>> The webserver is nginx and we had AIO set to on, with the AIO module built
>>> into the kernel.In 10.x it "just worked".
>>>
>>> About two weeks ago I upgraded that backend machine to 11-STABLE in order to
>>> start building packages for 11. I've just updated it again to r305417. I
>>> don't recall it not working as expected.
>>>
>>> More recently I upgraded the front-end machine to 11-STABLE @r305311. Since
>>> then, AIO is not working and I get a critical error in the nginx logs like
>>> this:
>>>
>>> 2016/09/05 15:58:02 [crit] 21145#0: *649 aio_read("/path/to/file") failed
>>> (45: Operation not supported) while sending response to client ...
>>>
>>> In 11 AIO is built into the kernel by default, and I have confirmed that it
>>> works as expected in files from a local file system. Since the webserver
>>> isn't aware that the file system in question is shared via NFS, it seems
>>> this is an operating system issue.

-- 
Jim Ohlstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87af720e-7506-d1de-9f93-f9d5a2589f7a>