mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
gluster: the glfs_io_cbk callback function pointer adds pre/post stat args
The glfs_*_async() functions do a callback once finished. This callback has changed its arguments, pre- and post-stat structures have been added. This makes it possible to improve caching, which is useful for Samba and NFS-Ganesha, but not so much for QEMU. Gluster 6 is the first release that includes these new arguments. With an additional detection in ./configure, the new arguments can conditionally get included in the glfs_io_cbk handler. Signed-off-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
e014dbe74e
commit
0e3b891fef
2 changed files with 29 additions and 1 deletions
24
configure
vendored
24
configure
vendored
|
@ -457,6 +457,7 @@ glusterfs_discard="no"
|
|||
glusterfs_fallocate="no"
|
||||
glusterfs_zerofill="no"
|
||||
glusterfs_ftruncate_has_stat="no"
|
||||
glusterfs_iocb_has_stat="no"
|
||||
gtk=""
|
||||
gtk_gl="no"
|
||||
tls_priority="NORMAL"
|
||||
|
@ -4105,6 +4106,25 @@ EOF
|
|||
if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
|
||||
glusterfs_ftruncate_has_stat="yes"
|
||||
fi
|
||||
cat > $TMPC << EOF
|
||||
#include <glusterfs/api/glfs.h>
|
||||
|
||||
/* new glfs_io_cbk() passes two additional glfs_stat structs */
|
||||
static void
|
||||
glusterfs_iocb(glfs_fd_t *fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data)
|
||||
{}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
glfs_io_cbk iocb = &glusterfs_iocb;
|
||||
iocb(NULL, 0 , NULL, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
|
||||
glusterfs_iocb_has_stat="yes"
|
||||
fi
|
||||
else
|
||||
if test "$glusterfs" = "yes" ; then
|
||||
feature_not_found "GlusterFS backend support" \
|
||||
|
@ -6994,6 +7014,10 @@ if test "$glusterfs_ftruncate_has_stat" = "yes" ; then
|
|||
echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_iocb_has_stat" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_IOCB_HAS_STAT=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$libssh2" = "yes" ; then
|
||||
echo "CONFIG_LIBSSH2=m" >> $config_host_mak
|
||||
echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue