Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1247.0 пользователей не могут ошибаться!
?7005
прекрасное6454
говно5922
говнорашка5512
хуита4737
anime3078
linux2662
music2646
bnw2607
рашка2587
log2372
ололо2257
дунч1879
pic1816
сталирасты1494
bnw_ppl1456
быдло1441
украина1439
дыбр1239
гімно1158

Угорел по криптоонанизму и снова засел за сабж. Набросал структурку для метаданных: directory metadata block: 4 bytes: "ABJU" 1 byte: version 3 bytes: reserved 4 bytes: number of directory entries in this block directory entry: 1 byte: type (file, directory) 1 byte: storage method (plain file, extended shit (fragmented file, crypted shit, etc)) 2 bytes: reserved 20 bytes: sha1 of the linked file asciiz: file name ("." for the next block of this directory, ".." for the first block of the parent directory) 4 bytes: file storage plugin ID (local file, remote file plugins for different hosting types (there would be a global database on these; don't forget to allocate some address space for private plugins)) asciiz: file link (plugin-specific; just a path for local files) TBD: more metadata? (perms and stuff) Грустно то, что придётся обновлять кучу фигни в случае, когда мы меняем небольшой кусочек глубоко закопанного файла, поскольку блоки у нас, как правило, write-once. Но основной юзкейс abusefs предполагает, что метаданные хранятся таки локально, что облегчает проблему. Собственно, от каждого плагина должны быть как минимум дёргалки для получения максимального размера для сохраняемого в них блока, максимальной длины получаемого линка, создания нового блока и чтения существующего. Дополнительно в зависимости от того, что может underlying medium, может быть реализована всякая няшнота вроде проверки хеша серверсайд, проверки существования, чтения определённого куска блока, удаления блока, перезаписи блока. Какашки приветствуются.
#DTCIYK (2) / @l29ah / 5186 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.