问题描述
我在处理 GPFS 文件系统中使用 mmap(MAP_SHARED) 修改的文件时遇到问题。这是我在做什么:
#define SZ 10
int fd = open("out",O_RDWR | O_CREAT | O_TRUNC,0660);
ftruncate(fd,SZ);
void *buf = mmap(0,SZ,PROT_READ | PROT_WRITE,MAP_SHARED,fd,0);
*(int*)buf = 1;
msync(buf,MS_SYNC);
close(fd);
在该命令之后 xxd ./out
显示 4096 个零字节,而不是 10 个带前导 0x01 的字节。此代码在 ext fs 中运行良好。我的 GPFS 版本是 5.0.4 是我做错了什么还是 GPFS 有问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)