sczh01 2016-08-14 11:02 采纳率: 0%
浏览 1104

内核模式下 读文件没有同步

现象:
1. 在内核正常读文件,没有问题。
2. 通过ADB把这个文件更新了。
3. 再读这个文件时,没有更新,还是和第一步读的一样!

程序如下:

static unsigned char cmd_buf_op[COMMAND_BUF_SIZE];
static char* pcmd_buf;
load_file(char * FileName)
{
static struct inode inode = NULL;
static struct file *fp;
static mm_segment_t fs;
static loff_t pos;
int iSize, cmd_num,i;
pcmd_buf = (char
)cmd_buf_op;
fs=get_fs();
set_fs(KERNEL_DS);

fp = filp_open( FileName, O_RDONLY, 0644);

if(IS_ERR(fp)){
    printk("create file error\n");
    return -1;
 }
inode = fp->f_dentry->d_inode;
iSize = inode->i_size;
printk("file(%s) size=%d\n", FileName, iSize);
vfs_read(fp,(char*)cmd_buf_op,iSize,&pos);
printk("pos =%x\n", pos );

filp_close(fp, 0);
set_fs(fs);

pcmd_buf[iSize] = 0;
printk("cmd_buf %s: %s\n", __func__, (char*)cmd_buf_op );
return 0;

}

  • 写回答

3条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2016-08-14 13:37
    关注

    指针没有移动,肯定没法读取其他的数据啊

    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)