IBV_IS_FORK_INITIALIZED(3)

NAME

ibv_is_fork_initialized - check if fork support (ibv_fork_init) is enabled

SYNOPSIS

    #include <infiniband/verbs.h>

    enum ibv_fork_status {
        IBV_FORK_DISABLED,
        IBV_FORK_ENABLED,
        IBV_FORK_UNNEEDED,
    };

    enum ibv_fork_status ibv_is_fork_initialized(void);

DESCRIPTION

ibv_is_fork_initialized() checks whether libibverbs fork() support was enabled through the ibv_fork_init() verb.

RETURN VALUE

ibv_is_fork_initialized() returns IBV_FORK_DISABLED if fork support is disabled, or IBV_FORK_ENABLED if enabled. IBV_FORK_UNNEEDED return value indicates that the kernel copies DMA pages on fork, hence a call to ibv_fork_init() is unneeded.

NOTES

The IBV_FORK_UNNEEDED return value takes precedence over IBV_FORK_DISABLED and IBV_FORK_ENABLED. If the kernel supports copy-on-fork for DMA pages then IBV_FORK_UNNEEDED will be returned regardless of whether ibv_fork_init() was called or not.

SEE ALSO

fork(2), ibv_fork_init(3)

AUTHOR

Gal Pressman <galpress@amazon.com>