bdflush - uruchomienie, wypróżnienie lub dostrojenie demona
wypróżniania buforów (bdflush)
#include <sys/kdaemon.h>
[[deprecated]] int bdflush(int func, long *address);
[[deprecated]] int bdflush(int func, long data);
Note: Since Linux 2.6, this system call is deprecated and does nothing.
It is likely to disappear altogether in a future kernel release. Nowadays, the
task performed by
bdflush() is handled by the kernel
pdflush
thread.
bdflush() starts, flushes, or tunes the buffer-dirty-flush daemon. Only a
privileged process (one with the
CAP_SYS_ADMIN capability) may call
bdflush().
Jeśli
func jest liczbą ujemną, lub zerem, a demon
nie był uruchomiony,
bdflush() wchodzi w kod daemona i nigdy nie
powraca.
Jeśli
func wynosi 1, niektóre bufory są zapisywane
na dysk.
Jeśli
func wynosi 2 lub więcej i jest parzyste
(najniższy bit jest 0), to
address jest adresem długiego
słowa, a parametr dostrajający o numerze (
func-2)/2
zostaje zwrócony pod tym adresem do wywołującego.
Jeśli
func jest równe 3, lub więcej i jest
nieparzyste (najniższy bit wynosi 1), to
data jest długim
słowem, a kernel nadaje tę wartość parametrowi
dostrajającemu o numerze (
func-3)/2.
The set of parameters, their values, and their valid ranges are defined in the
Linux kernel source file
fs/buffer.c.
Jeśli
func jest ujemne lub jest zerem, a demon uruchomi się
pomyślnie,
bdflush() nigdy nic nie zwraca.W pozostałych
wypadkach po pomyślnym zakończeniu funkcji zwracana jest
wartość 0, a w przypadku błędu zwracana jest
wartość -1 i ustawiane
errno wskazując rodzaj
błędu.
- EBUSY
- Próbowano wejść w kod demona po tym,
jak inny proces zrobił to samo.
- EFAULT
-
address wskazuje poza dostępną dla
użytkownika przestrzeń adresową.
- EINVAL
- Próbowano odczytać lub zapisać
nieprawidłowy numer parametru, lub nadać parametrowi
nieprawidłową wartość.
- EPERM
- Caller does not have the CAP_SYS_ADMIN
capability.
Since glibc 2.23, glibc no longer supports this obsolete system call.
bdflush() jest specyficzne dla Linuksa i nie powinno być
używane w przenośnych programach.
sync(1),
fsync(2),
sync(2)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Przemek Borys <
[email protected]> i Andrzej Krzysztofowicz
<
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]