On 02/11/2021 12.34, Paolo Bonzini wrote:
On 28/10/21 20:59, Thomas Huth wrote:
Checking for xfsctl() can be done more easily in meson.build. Also,
this is not a "real" feature like the other features that we provide
with the "--enable-xxx" and "--disable-xxx" switches for the
configure script, since this does not influence lots of code (it's
only about one call to xfsctl() in file-posix.c), so people don't
gain much with the ability to disable this with "--disable-xfsctl".
Let's rather treat this like the other cc.has_function() checks in
meson.build, i.e. don't add a new option for this in meson_options.txt.
Signed-off-by: Thomas Huth <th...@redhat.com>
I think we should just use ioctl and copy the relevant definitions from Linux:
struct dioattr {
u32 d_mem; /* data buffer memory alignment */
u32 d_miniosz; /* min xfer size */
u32 d_maxiosz; /* max xfer size */
};
#define XFS_IOC_DIOINFO _IOR ('X', 30, struct dioattr)
I've now had a closer look at this idea, but it's getting messy: We'd
additionally also need the platform_test_xfs_fd() function that is called
from file-posix.c ... sure it's not big, but the XFS header stuff is
licensed as LGPL, so it feels wrong to copy this over into file-posix.c that
has a MIT license. Of course, it could be rewritten, or put into a separate
file ... but that is already way more cumbersome for such a small benefit.
So I think I prefer to rather keep my patch in the current shape that has a
way nicer diffstat with way less risk of messing things up here.
Thomas