当我用ramfs将数据写入页面时,vim为什么会报告错误

时间:2019-12-16 10:46:10

标签: linux-kernel filesystems linux-device-driver embedded-linux

我使用my_do_sync_read和my_do_sync_write函数替换ramfs源代码中的do_sync_read和do_sync_write来加密写入页面的数据。从nano写入文件或从dd指令阻止写入都成功。但是当我使用vim保存文件时,它无法写入并显示:ml_upd_block0():没有得到块0? enter image description here

以下代码是我的简单测试,并且遇到了相同的问题:


ssize_t my_do_sync_read(struct file *filp,  char __user *buf, size_t len, loff_t *ppos)
{
  ssize_t size_ret; 
  int i;
  size_ret=do_sync_read(filp, buf, len, ppos);
  for(i=0;i<size_ret;i++)
      buf[i]^=0xff;
  return size_ret;
}

ssize_t my_do_sync_write(struct file *filp,  char __user *buf, size_t len, loff_t *ppos)
{
  int i;
  for(i=0;i<len;i++)
      buf[i]^=0xff;
  return do_sync_write(filp, buf, len, ppos);
}

0 个答案:

没有答案