手上拿到的一个 device 有自己的 low-level RAM IO 的 C SDK
然后实作上透过 FatFs 模拟 FAT file partition
这个 partition 可以有两种途径读写资料
1. native linux file operation
2. C SDK(with FatFs)
有一个 case 是在不 remount 的情况下
透过 C SDK 去修改 partition 上面的档案
然后在 call ioctl("/dev/sda1", BLKFLSBUF, 0) 去更新之后
在从 linux mount point 用 ls 去看有没有变化
现在遇到一个问题是,在不一样的 kernel 版本跑起来的状况不太一样
请问这个问题要怎么追比较好呢?
我这边目前怀疑是有 inode 的 target 没有更新到 os 这边(不确定说法正不正确)
而透过ioctl + BLKFLSBUF 不见得能够达成更新的效果
有什么 tool 或是指令比较适合追这个问题?
平台:一般 linux server/desktop 平台