А что ты понимаешь под "нормальным" и "ложным"?
Файл можно сделать сколь угодно большим через truncate, если это поддерживает файловая система, т.н. sparse file. Сделать вид, что он меньше не получится. :) По крайней мере если я правильно понял о чем речь.
Ложным - в смысле скрыть его истинный размер. Как я понимаю все это хранит stat. Так почему бы туда не написать то, что, например, я сам захочу. Вот я и ищу средства изменения это стр-ры ручками.
P.S. Или я чего-то не понимаю?
stat - это некий интерфейс glibc к системному вызову, к VFS, VFS в свою очередь заполняет буфер данными, которые хранятся в структурах файловой системы (in-core inode в основном). Нет никакой дублирующей структуры из которой брались бы данные для stat - они всегда заполняются реальными данными.
Можно нарушить целостность файловой системы, но зачем?
С таким же успехом ты можешь выполнить truncate на файле и получить любой размер файла ничего не портя.