资源简介
实现一个具有创建文件,删除文件,创建目录,删除目录,读文件,写文件功能的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
- 上一篇:ENVI二次开发指南pdf版
- 下一篇:银行业务系统的数据库设计
相关资源
- 模拟文件系统的设计与实现
- 多用户多级目录文件系统
- 操作系统实验--进程调度 作业调度 内
- 杭电简单文件系统的实现报告
- 操作系统实验报告(进程,文件系统
- 多用户多目录文件系统设计与实现
- UNIX文件系统
- 振南电子znFAT文件系统,读写SD卡程序
- AIX双机热备的在线扩容文件系统
- MSP430 单片机读写SD卡程序带fat文件系
- zlg_ffs 周立功文件系统
- 模拟一个小型磁盘文件管理系统
- 模拟实现单级目录、单级索引的索引
- 多用户文件系统的实现
- LINUX操作系统文件系统设计实验代码
- NoFuserEx.v.1.2-dotNet.v4.6.1.rar
- 模拟磁盘文件系统实现
- ext4文件系统源码
- 基于Linux的模拟文件系统管理的设计与
- 模拟磁盘文件系统实现(内有详细注
- 操作系统课程设计报告-建立基于磁盘
- ExtReader(ext3文件系统读取器)
- NTF文件系统
- MSP430读写SD卡FAT文件系统
- 操作系统课设 模拟二级文件系统管理
- ZLGFS文件系统源代码
- 十分简易文件系统
- FATFS文件系统应用程序手册(中文版)
- 操作系统简单二级文件系统
- 文件系统源码--操作系统课程设计
评论
共有 条评论