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
/* 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 */