SFUSE_Documentation
로딩중...
검색중...
일치하는것 없음
super.c 파일 참조
#include "super.h"
#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
super.c에 대한 include 의존 그래프

이 파일의 소스 코드 페이지로 가기

함수

int sb_load (int fd, struct sfuse_superblock *sb_out)
 디스크에서 슈퍼블록을 읽어 로드
int sb_sync (int fd, const struct sfuse_superblock *sb)
 메모리의 슈퍼블록을 디스크에 기록

함수 문서화

◆ sb_load()

int sb_load ( int fd,
struct sfuse_superblock * sb_out )

디스크에서 슈퍼블록을 읽어 로드

슈퍼블록을 디스크에서 읽어 로드

파일 디스크립터가 가리키는 디스크 이미지의 시작에서 슈퍼블록 구조체 크기만큼 읽어 들이고, 매직 넘버를 확인한다.

매개변수
fd디스크 이미지 파일 디스크립터
sb_out읽어들인 슈퍼블록을 저장할 구조체 포인터
반환값
성공 시 0, 매직 넘버 불일치 시 -EINVAL, 읽기 오류 시 -errno

super.c 파일의 18 번째 라인에서 정의되었습니다.

18 {
19 /* 디스크 시작에서 읽기 */
20 ssize_t n = pread(fd, sb_out, sizeof(*sb_out), 0);
21 if (n < 0) {
22 return -errno;
23 }
24 /* 매직 넘버 확인 */
25 if (sb_out->magic != SFUSE_MAGIC) {
26 return -EINVAL;
27 }
28 return 0;
29}
uint32_t magic
Definition super.h:52
#define SFUSE_MAGIC
SFUSE 매직 넘버
Definition super.h:13

◆ sb_sync()

int sb_sync ( int fd,
const struct sfuse_superblock * sb )

메모리의 슈퍼블록을 디스크에 기록

슈퍼블록을 디스크에 동기화

슈퍼블록 구조체 크기만큼 디스크 이미지 시작 위치에 쓰기 수행.

매개변수
fd파일 디스크립터
sb기록할 슈퍼블록 구조체 포인터
반환값
성공 시 0, 쓰기 오류 시 -errno 또는 -EIO

super.c 파일의 40 번째 라인에서 정의되었습니다.

40 {
41 ssize_t n = pwrite(fd, sb, sizeof(*sb), 0);
42 if (n < 0) {
43 return -errno;
44 }
45 return (n == sizeof(*sb) ? 0 : -EIO);
46}
이 함수를 호출하는 함수들에 대한 그래프입니다.: