BDFLUSH(2)

이름
bdflush - start, flush, buffer-dirty-flush데몬은 조정한다.

사용법
int bdflush(int func, long *address);
int bdflush(int func, long data);

설명
bdflush 는 starts, flushes, buffer-dirty-flush데몬은 조정한다. 단지 수퍼유저만이 bdflush 를 호출할 수 있다.

func 가 음수이거나 0, 그리고 어떠한 데몬도 실행되지 않았다면 bdflush 는 데몬 코드를 입력하고 반환하지 않는다.

func 가 1이면 몇몇 dirty buffer가 디스크에 기록된다.

func 가 2이상이고 짝수이면, address 는 길어지고, 튜닝매개변수 번호 (func-2)/2 는 그 주소에 호출자로 반환된다.

If func 가 3이상이고 홀수이면, data 는 길어지고, 커널은 설정튜닝 매개변수 번호 (func-3)/2 에 그 값을 설정한다.

매개변수의 설정, 그것들의 값과 그것들의 허용된 범위는 커널 소스파일 fs/buffer.c 에 정의된다.

반환값
If func 는 음수이거나 0이고 데몬이 성공적으로 시작했다. bdflush 는 반환하지 않는다. 그 외에, 반환값은 성공시 0이고 실패시 errno 는 에러를 나타내도록 설정되면서 -1을 반환한다.

에러

EPERM
    호출자(Caller)가 수퍼유저가 아니다.

EFAULT
    주소 가 당신이 접근할 수 있는 주소공간 밖에 있다.

EBUSY
    시도는 다른 프로세스가 이미 입력된 후에 데몬코드가 입력되게 만든다.

EINVAL
    시도는 무효의 매개변수 번호에 읽거나 쓰도록 만들거나 매개변수에 무효값은 쓴다.

호환
bdflush는 리눅스에서만 쓰고 이식하기 위한 프로그램에는 쓰이지 않아야만 한다.

관련 항목
fsync(2), sync(2), update(8), sync(8)

역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 29일