SFUSE_Documentation
로딩중...
검색중...
일치하는것 없음
super.c
이 파일의 문서화 페이지로 가기
1// File: src/super.c
2
3#include "super.h"
4#include <errno.h>
5#include <sys/types.h>
6#include <unistd.h>
7
18int sb_load(int fd, struct sfuse_superblock *sb_out) {
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}
30
40int sb_sync(int fd, const struct sfuse_superblock *sb) {
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}
슈퍼블록 구조체
Definition super.h:51
uint32_t magic
Definition super.h:52
int sb_load(int fd, struct sfuse_superblock *sb_out)
디스크에서 슈퍼블록을 읽어 로드
Definition super.c:18
int sb_sync(int fd, const struct sfuse_superblock *sb)
메모리의 슈퍼블록을 디스크에 기록
Definition super.c:40
#define SFUSE_MAGIC
SFUSE 매직 넘버
Definition super.h:13