]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
lib/posix-event: Add an empty implementation of ioctl to eventfd
authorMarco Schlumpp <marco@unikraft.io>
Wed, 1 Feb 2023 13:42:17 +0000 (14:42 +0100)
committerUnikraft <monkey@unikraft.io>
Wed, 26 Apr 2023 10:58:05 +0000 (10:58 +0000)
The fcntl function will forward fcntl(O_NONBLOCK), to the
underlying vnode `ioctl` op function, when a definition of FIONBIO and
FIOASYNC is present. This effectively makes `ioctl` a required function
for the vnops structure.

Signed-off-by: Marco Schlumpp <marco@unikraft.io>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #756

lib/posix-event/eventfd.c

index bb14bb7b6f74d0ce8100673c26cc9aad813e7d32..ee88c8256cde1ea28465398fd8f77eacc2afb245 100644 (file)
@@ -291,13 +291,15 @@ static int eventfd_vfscore_poll(struct vnode *vnode, unsigned int *revents,
 
 /* vnode operations */
 #define eventfd_vfscore_inactive ((vnop_inactive_t) vfscore_vop_einval)
+#define eventfd_vfscore_ioctl ((vnop_ioctl_t) vfscore_vop_einval)
 
 static struct vnops eventfd_vnops = {
        .vop_close = eventfd_vfscore_close,
        .vop_inactive = eventfd_vfscore_inactive,
        .vop_read = eventfd_vfscore_read,
        .vop_write = eventfd_vfscore_write,
-       .vop_poll = eventfd_vfscore_poll
+       .vop_poll = eventfd_vfscore_poll,
+       .vop_ioctl = eventfd_vfscore_ioctl
 };
 
 /* file system operations */