PR_SET_IO_FLUSHER(2const)

PR_SET_IO_FLUSHER2const

Change the io_flusher state

Usage

#include <linux/prctl.h>  /* Definition of PR_* constants */
#include <sys/prctl.h>

int prctl(PR_SET_IO_FLUSHER, long state, 0L, 0L, 0L);

Library

Standard C library (libc, -lc)

Overview

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.

Return value

On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.

Errors

EINVAL

state is not a valid value.

Releases

2 releases since Debian 13 (Trixie); the text changed 1 time.

  1. 13
  2. Arch

Standards

Linux.

History

Linux 5.6.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.