c - pmem.io 上的 simple_copy 示例

标签 c linux-kernel

我已经创建了 http://pmem.io/2016/02/22/pm-emulation.html 给出的模拟设备,成功。

它正确显示设备:

:~/Prakash/nvml/src/examples/libpmem$ mount | grep pmem

/mnt/pmemd 上的/dev/pmem0 类型为 ext4(rw、relatime、dax、errors=continue、data=ordered)

但是,当我执行 pmem nvml 给出的 simple_copy 示例时,它会出现以下错误:

amd@amd:~/Prakash/nvml/src/examples/libpmem$ ./simple_copy logs

/dev/pmem0 pmem_map_file: File exists

amd@amd:~/Prakash/nvml/src/examples/libpmem$ ./simple_copy logs

/dev/pmem0/logs pmem_map_file: Not a directory

我是否没有正确使用该程序?

此外,我已将设备安装为 dax,并且我清楚地看到了性能优势

:~/Prakash/nvml/src/examples/libpmem$ sudo dd if=/dev/zero of=/dev/pmem0 bs=2G count=1
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 0.910729 s, 2.4 GB/s
:~/Prakash/nvml/src/examples/libpmem$ sudo dd if=/dev/zero of=/mnt/pmem0/test bs=2G count=1
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 6.39032 s, 336 MB/s

最佳答案

从发布的错误来看,似乎有理由相信:

  1. 如果没有适当的选项,它将不会创建目录
  2. 如果没有适当的选项,它不会替换文件

关于c - pmem.io 上的 simple_copy 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47987486/

相关文章:

c - pthread_join() 导致段错误

c - RDMA - ibv_post_send 如何知道 CQ?

linux - 跟踪进程的写入内存。

c - 函数接收 char * 就好像它是空的

C - 添加到列表节点内的链接列表

c - 如果丢弃长度数据,C 的数组语法有什么意义?

c - Linux内核列表实现会导致UB吗?

c - 如何监控linux自旋锁等待时间?

linux-kernel - Linux 中的 "lock"方法保证原子性?

memory - 平板系统和伙伴系统有什么区别?