fuse 파일시스템 개발 작업 중 모르는게 있어서 질문드립니다.

kyungmin1234의 이미지

static int hello_read(const char *path, char *buf, size_t size, off_t offset,
struct fuse_file_info *fi)
{

printf("called hello_read\n");
int ino=0, i;
char tmp[200];
//size_t len;
(void) fi;

strcpy(tmp, path);

if(strcmp(path, "/") ==0)
ino = 0;
else {
ino = search_path(tmp);
if(ino == 0)
return -ENOENT;
}

for(i=0;i<7;i++){
sizeof(inode[i].name);
printf("inode: %d",sizeof(inode[i].name));
}
return size;
}
----------------------------------------------------------
지금 read 함수를 구현하는 중인데 파일의 길이를 재서 direct block과 single indirect block의
어디까지 읽는지 읽어다가 출력해줘야하는데 당췌 모르겠네요..도움좀 부탁드립니다.