Scroll to navigation

bdflush(2) System Calls Manual bdflush(2)

NAZWA

bdflush - uruchamia, wypróżnia lub dostraja demona wypróżniania buforów (bdflush)

SKŁADNIA

#include <sys/kdaemon.h>
[[przestarzałe]] int bdflush(int func, long *address);
[[przestarzałe]] int bdflush(int func, long data);

OPIS

Uwaga: Od Linuksa 2.6 to wywołanie systemowe jest przestarzałe i niczego nie robi. Prawdopodobnie zostanie zupełnie usunięte w przyszłych wydaniach jądra. Obecnie zadania wykonywane wcześniej przez bdflush() obsługuje wątek jądra pdflush.

bdflush() uruchamia, wypróżnia, lub dostraja demona bdflush. Tylko proces uprzywilejowany (z przywilejem (ang. capability) CAP_SYS_ADMIN) może wywołać bdflush().

Jeśli func jest liczbą ujemną, lub zerem, a demon nie był uruchomiony, bdflush() wchodzi w kod demona 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 jądro nadaje tę wartość parametrowi dostrajającemu o numerze (func-3)/2.

Zestaw parametrów, ich wartości i prawidłowych zakresów jest zdefiniowany w kodzie źródłowym jądra Linux, w pliku fs/buffer.c.

WARTOŚĆ ZWRACANA

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 zwracana jest wartość 0, a w przypadku błędu zwracana jest wartość -1 i ustawiane errno wskazując rodzaj błędu.

BŁĘDY

Próbowano wejść w kod demona po tym, jak inny proces zrobił to samo.
address wskazuje poza dostępną dla użytkownika przestrzeń adresową.
Próbowano odczytać lub zapisać nieprawidłowy numer parametru, lub nadać parametrowi nieprawidłową wartość.
Wywołujący nie posiada przywileju (ang. capability) CAP_SYS_ADMIN.

WERSJE

Od glibc 2.23, glibc już nie obsługuje tego przestarzałego wywołania systemowego.

STANDARDY

bdflush() jest specyficzne dla Linuksa i nie powinno być używane w przenośnych programach.

ZOBACZ TAKŻE

sync(1), fsync(2), sync(2)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

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 manpages-pl-list@lists.sourceforge.net.

4 grudnia 2022 r. Linux man-pages 6.03