Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1344786
  • 博文数量: 198
  • 博客积分: 1629
  • 博客等级: 上尉
  • 技术积分: 2743
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-01 15:41
文章分类
文章存档

2023年(6)

2022年(20)

2021年(8)

2020年(3)

2018年(17)

2017年(3)

2016年(3)

2015年(9)

2014年(13)

2013年(17)

2012年(77)

2011年(22)

分类: LINUX

2012-06-28 17:13:34

e2fsprogs(又称为e2fs programs)是用以维护ext2,ext3和ext4档案系统的工具程序集。由于ext2/3/4是绝大多数Linux发行版默认的文件系统,所以这套工具集也包含在众多Linux发行版内。
e2fsprogs包含以下独立的程式:
e2fsck, ext2/3/4文件系统的fsck程序,用于检查文件系统的完整性。
mke2fs, 用于创建ext2/3/4档案系统。
resize2fs, 调整已建立的ext2/3/4档案系统的大小。
tune2fs, 修改ext2/3/4档案系统的相关参数。
dumpe2fs, 显示ext2/3/4档案系统的相关资讯。
debugfs, 用于调试ext2/3/4文件系统,可以查看与更改文件系统的状态。
e2fsprogs工具集同时也包含函数库libext2fs。
版本:e2fsprogs-1.42
make错误:
e4defrag.c:210:2: warning: #warning Using locally defined sync_file_range interface.
e4defrag.c:214:2: error: #error Your kernel headers dont define __NR_sync_file_range
。。。
 
按如下形式修改/misc/e4defrag.c:
新增
#ifndef __NR_fallocate
#define __NR_fallocate 324
#endif
注释掉这些行
/#ifndef __NR_sync_file_range
//#ifndef __NR_sync_file_range2
//#error Your kernel headers dont define __NR_sync_file_range
//#endif
//#endif
sync_file_range 函数修改为如下形式
int sync_file_range(int fd, loff_t offset, loff_t length, unsigned int flag)
{
#ifdef __NR_sync_file_range
  return syscall(__NR_sync_file_range, fd, offset, length, flag);
//#else
  #elif defined(__NR_sync_file_range2)
    return syscall(__NR_sync_file_range2, fd, flag, offset, length);
  #else
    return fsync(fd);
#ifndef SYNC_FILE_RANGE_WAIT_BEFORE
#define SYNC_FILE_RANGE_WAIT_BEFORE 0
#endif
#ifndef SYNC_FILE_RANGE_WRITE
#define SYNC_FILE_RANGE_WRITE 0
#endif
#ifndef SYNC_FILE_RANGE_WAIT_AFTER
#define SYNC_FILE_RANGE_WAIT_AFTER 0
#endif
#endif
}
 
/configure --enable-elf-shlibs  
make  
make install  
cp -r lib/uuid/    /usr/include/  
cp -rf lib/libuuid.so* /usr/lib  

阅读(4840) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~