• 大小: 7KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: fuse  文件系统  

资源简介

实现一个具有创建文件,删除文件,创建目录,删除目录,读文件,写文件功能的fuse文件系统。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include “ufs.h“

int main(void) 
{
FILE *fp = NULL;
int total = (MAX_BITMAP_BLOCK_NUM - 1) * BLOCK_BYTES;
char a = 0xFF;
char *c = &a;
char b[511];
char rest[total];
struct super_block *super_block_record;
struct u_fs_data_block *root;
int err = 0;

super_block_record = malloc(sizeof(struct super_block));
root = malloc(sizeof(struct u_fs_data_block));

if (!super_block_record || !root) {
printf(“Malloc failed!\n“);
err = -ENOMEM;
goto out;
}

fp = fopen(DISK “r+“);
if (fp == NULL) {
fprintf(stderr “open diskimg unsuccessful!\n“);
err = -1;
goto out;
}

if (fseek(fp 0 SEEK_END) != 0) {
err = -1;
goto out;
}
super_block_record->fs_size = ftell(fp)/BLOCK_BYTES; 
super_block_record->first_blk = 1 + MAX_BITMAP_BLOCK_NUM;
super_block_record->bitmap = MAX_BITMAP_BLOCK_NUM;

if (fseek(fp 0 SEEK_SET) != 0) {
err = -1;
goto out;
}
fwrite(super_block_record sizeof(struct super_block) 1 fp);
if (fseek(fp 512 SEEK_SET) != 0) {
err = -1;
goto out;
}

fwrite(c sizeof(char) 1 fp);
memset(b 0 511);
fwrite(b 511 1 fp);

memset(rest 0 total);
fwrite(rest total 1 fp);

if (fseek(fp BLOCK_BYTES * (MAX_BITMAP_BLOCK_NUM + 1) SEEK_SET) != 0) {
err = -1;
goto out;
}
root->size = 0;
root->nNextBlock = -1;
root->data[0] = ‘\0‘;
fwrite(root sizeof(struct u_fs_data_block) 1 fp);

fclose(fp);
printf(“initialize successful!\n“);

out:
if (super_block_record) {
free(super_block_record);
}
if (root) {
free(root);
}
return err;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1715  2011-11-15 15:20  ufs\init.c

     文件        392  2011-11-09 17:57  ufs\makefile

     文件      13147  2011-11-15 15:16  ufs\op.c

     文件       1015  2011-11-14 11:51  ufs\op.h

     文件       9972  2011-11-15 15:20  ufs\ufs.c

     文件       1193  2011-11-14 15:38  ufs\ufs.h

     目录          0  2011-11-15 18:03  ufs

----------- ---------  ---------- -----  ----

                27434                    7


评论

共有 条评论