Detecting RWF_NOWAIT support

From: Avi Kivity
Date: Thu Dec 14 2017 - 12:38:44 EST


I'm looking to add support for RWF_NOWAIT within a linux-aio iocb. Naturally, I need to detect at runtime whether the kernel support RWF_NOWAIT or not.


The only method I could find was to issue an I/O with RWF_NOWAIT set, and look for errors. This is somewhat less than perfect:

Â- from the error, I can't tell whether RWF_NOWAIT was the problem, or something else. If I enable a number of new features, I have to run through all combinations to figure out which ones are supported and which are not.

Â- RWF_NOWAIT support is per-filesystem, so I can't just remember not to enable RWF_NOWAIT globally, I have to track it per file.


Did I miss another method of detecting RWF_NOWAIT?