PR_SET_IO_FLUSHER - change the IO_FLUSHER state
Contents
Description
If a user process is involved in the block layer or filesystem I/O path, and can allocate memory while
processing I/O requests it must set state to 1. This will put the process in the IO_FLUSHER state, which
allows it special treatment to make progress when allocating memory. If state is 0, the process will
clear the IO_FLUSHER state, and the default behavior will be used.
The calling process must have the CAP_SYS_RESOURCE capability.
The IO_FLUSHER state is inherited by a child process created via fork(2) and is preserved across
execve(2).
Examples of IO_FLUSHER applications are FUSE daemons, SCSI device emulation daemons, and daemons that
perform error handling like multipath path recovery applications.
Errors
EINVALstate is not a valid value.
History
Linux 5.6.
Library
Standard C library (libc, -lc)
Name
PR_SET_IO_FLUSHER - change the IO_FLUSHER state
Return Value
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
See Also
prctl(2), PR_GET_IO_FLUSHER(2const) Linux man-pages 6.9.1 2024-06-01 PR_SET_IO_FLUSHER(2const)
Standards
Linux.
Synopsis
#include<linux/prctl.h> /* Definition of PR_* constants */
#include<sys/prctl.h>intprctl(PR_SET_IO_FLUSHER,longstate,0L,0L,0L);