Quiz Memorial Forum

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> microdc2-0.15.6 patch
Kreon
post Jun 24 2008, 05:43 PM
Post #1


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



  • Русификация
  • Исправление проблемы с загрузкой на 100% CPU
  • Slave-режим.
    При использовании на нескольких хабах, на дополнительных инстансах программы в конфиге укажите интервал refresh'а файлов в 0, тогда будет использоваться один и тот же файллист на все инстансы.
Attached File  microdc2_ru.patch.gz ( 16.08k ) Number of downloads: 1035
Attached File  microdc2_slave_mode.patch.gz ( 13.11k ) Number of downloads: 944

Применять последовательно.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Леонид
post Aug 22 2008, 03:55 PM
Post #2


Посетитель
*

Group: Members
Posts: 2
Joined: 22-August 08
Member No.: 241



QUOTE(Kreon @ Jun 24 2008, 06:43 PM) *
  • Русификация
  • Исправление проблемы с загрузкой на 100% CPU
  • Slave-режим.
    При использовании на нескольких хабах, на дополнительных инстансах программы в конфиге укажите интервал refresh'а файлов в 0, тогда будет использоваться один и тот же файллист на все инстансы.
Attached File  microdc2_ru.patch.gz ( 16.08k ) Number of downloads: 1035
Attached File  microdc2_slave_mode.patch.gz ( 13.11k ) Number of downloads: 944

Применять последовательно.

В какую папку нужно поместить, чтобы потом применить?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Aug 23 2008, 10:57 AM
Post #3


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



В зависимости от операционной системы. Как правило - в корневой каталог исходников.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Леонид
post Aug 23 2008, 07:17 PM
Post #4


Посетитель
*

Group: Members
Posts: 2
Joined: 22-August 08
Member No.: 241



QUOTE(Kreon @ Aug 23 2008, 11:57 AM) *

В зависимости от операционной системы. Как правило - в корневой каталог исходников.

стоит linux (видимо сильно подрезанный) на роутере ASUS WL500gp.
microdc2 хочу на нем запускать.
Может выложите исправленный готовый файл?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Aug 26 2008, 01:24 PM
Post #5


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Не совсем ясно, в чем проблема с пропатчиванием.
QUOTE
Kreon@starcom2k ~
$ cd microdc2-0.15.6/

Kreon@starcom2k ~/microdc2-0.15.6
$ patch -p0 < microdc2-ru.patch
patching file po/LINGUAS
patching file po/ru.po

Kreon@starcom2k ~/microdc2-0.15.6
$ patch -p0 < microdc2-slave-mode.patch
patching file po/ru.po
patching file src/filelist-in.c
patching file src/hash.c
patching file src/local_flist.c
patching file src/lookup.c
patching file src/main.c
patching file src/microdc.1
patching file src/microdc.h
patching file src/user.c
patching file src/variables.c

Kreon@starcom2k ~/microdc2-0.15.6
$ tar -jcf microdc2-0.15.6-patched.tar.bz *

В случае урезанных систем возможно придется доставлять дополнительные либы.


Attached File(s)
Attached File  microdc2_0.15.6_patched.tar.bz ( 519.14k ) Number of downloads: 734


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
gorbushka
post Nov 21 2008, 04:58 PM
Post #6


Посетитель
*

Group: Members
Posts: 2
Joined: 21-November 08
Member No.: 261



прошу прощения, а как подключиться на несколько хабов?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Nov 21 2008, 11:56 PM
Post #7


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Как я уже написал в первом посте, для этого нужно запустить программу ещё раз с другим конфигом. В конфиге указать интервал обновления списка файлов равным нулю.
Таким образом список файлов обновлять будет только первая программа. Вторая будет ждать обновлений и читать их по мере появления. Таким образом можно вдвое уменьшить нагрузку на сервер при обновлении файлов.
Другого способа подключить microdc к нескольким хабам не существует.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
gorbushka
post Nov 25 2008, 10:47 AM
Post #8


Посетитель
*

Group: Members
Posts: 2
Joined: 21-November 08
Member No.: 261



QUOTE(Kreon @ Nov 21 2008, 11:56 PM) *

Как я уже написал в первом посте, для этого нужно запустить программу ещё раз с другим конфигом. В конфиге указать интервал обновления списка файлов равным нулю.
Таким образом список файлов обновлять будет только первая программа. Вторая будет ждать обновлений и читать их по мере появления. Таким образом можно вдвое уменьшить нагрузку на сервер при обновлении файлов.
Другого способа подключить microdc к нескольким хабам не существует.

спасибо, получилось
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Mar 20 2009, 08:51 PM
Post #9


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Столкнулся с проблемой, что microdc2 неверно посчитало TTH нескольких файлов.
Одним из объяснений этого происшествия может быть тот факт, что эти файлы заливались на сервер microdc2 с торрентов в течение некоторого длительного времени, которое превышало интервал обновления списка файлов. В результате за время их закачки, microdc2 успело несколько раз вычислить их TTH. Возможно, одно из последних посчитанных значений и сохранилось вместо настоящего TTH.
Набросал небольшой workaround - патч для файла local_flist.c:
CODE
--- ../microdc2.backup/src/local_flist.c    2009-03-20 20:02:04.000000000 +0300
+++ src/local_flist.c    2009-03-20 20:29:54.000000000 +0300
@@ -326,6 +326,8 @@
                 deleted = NULL;
             }

+            time_t cur_time = time(NULL);
+
             /* now we are looking for new items */
             dp = opendir(node->dir.real_path);
             if (dp != NULL) {
@@ -345,6 +347,15 @@
                         continue;
                     }

+                    /*
+                            we don't want to hash files, that probably did not finish uploading to our server
+                            lets make them wait for at least for 60 seconds since last change date
+                    */
+                    if (st.st_ctime > (cur_time - 60)) {
+                        free(fullname);
+            continue;
+                    }
+
                     child = hmap_get(node->dir.children, ep->d_name);

                     if (child != NULL) {

Пока не знаю, насколько это работает. И возможно здесь стоило использовать st.st_mtime вместо st.st_ctime.
В любом случае, даже если TTH был посчитан неверно по какой-то другой причине, то всё равно нет смысла впустую его пересчитывать для файлов, которые находятся в процессе закачки на сервер, и этот патч должен решить эту проблему.

Если кто-либо ещё сталкивался с подобной проблемой, отпишитесь.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 28th March 2024 - 01:34 PM
Design by GPF © 2006