[about] [index] [prev] [2021-09-26 14:01:18+03:00] [ce77c1a4e9eda67679c6c8d1ccd7bfc44020d3e8]
Topics: [zfs]

Данные в символических ссылках на ZFS

Для GoCheese решил попробовать хранить контрольные суммы не в виде
содержимого файлов, а в виде символических ссылок, где будет например
Base64 (494ba450b1c38f4008afdef83dd7043ea5f1ef95). Сконвертировал весь
PyPI state, увидел что размер dataset-а стал только больше. Пошёл
ковыряться в zdb -- впервые его использовал для настоящей задачи
выяснения что же реально сохранилось на диске (прежде им только смотрел
ashift). В общем, небольшого размера данные и так умещаются внутрь
dnode-ы в виде EMBEDDED indirect блока. А содержимое символической
ссылки в ZAP структуре. Но 32-байта займут меньше места чем их
кодированное представление, поэтому и размеры dnode, судя по всему (или
ZAP overhead? не думаю) меньше и данные в символических ссылках тут
только вредят.

Где-то мельком видел что до 60 байт символические ссылки на ext4
хранятся прямо в inode. В UFS тоже встраиваются, если небольшого
размера, в inode. Но на ZFS во всём этом смысла нет.

[leave comment]