[问题] linux file system

楼主: XAMDOU (萨姆德)   2021-01-18 18:56:03
手上拿到的一个 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 平台
楼主: XAMDOU (萨姆德)   2021-01-18 18:57:00
补充一下,接口是 USB
作者: bamchisu (suchi)   2021-01-18 23:35:00
df -i 可以看inode数目,你可以先照你的方法弄很多之档案,然后用df -i看一下OS那边inode数目有没有改,确认是否为inode问题再来切换kernel版本/boot partition弄大一点一次多compile几个kernel方便你切换以上纯属小弟建议,有错请前辈指正

Links booklink

Contact Us: admin [ a t ] ucptt.com