---
name: "bdflush"
section: "2"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/bdflush"
---

# bdflush(2)

start, flush, or tune buffer-dirty-flush daemon

## NAME

bdflush - start, flush, or tune buffer-dirty-flush daemon

## SYNOPSIS

```
#include <sys/kdaemon.h>
```

**int bdflush(int** *func***, long** *data***);**

## DESCRIPTION

This system call used to turn the calling process into the *bdflush* daemon, or tune it, or flush the "old buffers". It then progressively lost all of that functionality.

See *fs/buffer.c* in the kernel version you're interested in to see what it actually does there.

## ERRORS

**ENOSYS** (this system call is unimplemented)

## STANDARDS

Linux.

## HISTORY

This system call was introduced in Linux 1.1.3, became effectively obsolete in Linux 1.3.50, mostly useless in Linux 2.3.23, entirely useless in Linux 2.5.12, officially deprecated in Linux 2.5.52, and removed outright in Linux 5.15.

Sometimes, if *func* was even, *data* actually represented a pointer.

The header and prototype were removed in glibc 2.23.

## SEE ALSO

[**sync**(1)](/sync/1.md), [**fsync**(2)](/fsync/2.md), [**sync**(2)](/sync/2.md)
