LINUX.ORG.RU

Пишу оффлайн дефрагментатор reiserfs

 ,


8

9

Собственно, уже написал.

На данный момент он дорос до версии v0.2.2 и в нём реализовано всё, что я собирался реализовывать. Код здесь: https://github.com/i-rinat/reiserfs-defrag/archive/v0.2.2.tar.gz

В плане сохранности данных реализовано журналирование как метаданных, так и самих данных (нужно включить, указав параметр командной строки). Сама схема журналирования похожа на data=ordered в ext3/4, когда сначала пишутся данные, а только потом происходит обновление метаданных. Актуальные данные никогда не переписываются на месте, всегда происходит копирование на пустое место. Это снижает производительность, но значительно снижает вероятность повреждения. Собственно, сейчас повреждения возможны только если диск сойдёт с ума и начнёт писать куда не просили. По крайней мере, мне нравится так думать.

В составе есть краткая документация.

В далёком будущем появится версия v0.3, в которой ожидаются убавление тормозов в режиме tree-through и улучшение производительности для больших директорий.

★★★★★

Последнее исправление: i-rinat (всего исправлений: 3)

Ответ на: комментарий от greenman

что нужно указать при сборке, дабы бинарник reiserfs-defrag оказался в /usr/bin, а не в /usr/sbin?

Нужно подправить CMakeLists.txt. Там в предпоследней строке указывается, куда ставить бинарник (относительно префикса). То есть как-то так:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b2a0b3..ba94e48 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,5 +16,5 @@ target_link_libraries(reiserfs-defrag
        rt
 )
 
-install(TARGETS reiserfs-defrag DESTINATION sbin)
+install(TARGETS reiserfs-defrag DESTINATION bin)
 install(FILES doc/reiserfs-defrag.8 DESTINATION "share/man/man8")

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Спасибо, может быть соберусь добавить патч в пакет. Хотя пока и так ставится, благодаря симлинкам.

А вообще, на будущее, не имеет ли смысл добавить параметр, типа bindir? Хардкодить пути, говорят, не очень правильно?

greenman ★★★★★
()
Ответ на: комментарий от greenman

А вообще, на будущее, не имеет ли смысл добавить параметр, типа bindir?

Да, сделаю в ближайшее время. (Один-три дня.)

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от greenman

А вообще, на будущее, не имеет ли смысл добавить параметр, типа bindir?

Добавил параметр SBINDIR, который можно устанавливать через параметры вызова cmake:

cmake -DSBINDIR=/path/to/binary ..

А ещё я бампнул номер версии до 0.2.2. По сравнению с 0.2.1 там новые: man-страница и файлик с описанием некоторых внутренностей утилиты.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от vertexua

делал SHA всех файлов? Или diff?

Считал md5 от файлов.

i-rinat ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.