Я пытаюсь использовать O_DIRECT, чтобы открыть файл, и мы используем jffs2
fd = open(filename, O_RDONLY|O_DIRECT|O_SYNC);
Но я получаю только ошибку "неверный аргумент".Я также пробовал решения в этой ссылке SO , но безрезультатно.Конечно, я также добавил "-D_GNU_SOURCE" при создании исходного кода.
Я читал, что O_DIRECT не поддерживается в tmpfs, но не может найти поддержку или не поддержку jffs2.Если кто-то может дать мне доказательство или не-доказательство для поддержки jffs2 и / или чего-то другого, чего мне не хватает, чтобы заставить работать O_DIRECT.
примечание: все это произошло потому, что Linux, похоже, кеширует данные памяти самостоятельноя использую fread () / read ().И использовать system("echo 3 > /proc/sys/vm/drop_caches");
было бы слишком поздно, потому что я не хочу, чтобы ФС выделяла кеш-память в первую очередь.
Спасибо, Naze