The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"patch for FreeBSD 6.2"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"patch for FreeBSD 6.2"  
Сообщение от anonymous (??) on 16-Май-07, 15:07 
Привет всем программистам.

Написал небольшой патч для ядра FreeBSD, подсистемы VFS.
Исправляет панику при синхронизации с потеряным устройством, тобишь не отмонтировали флешку, вытащили и словили дамп)))
В общем проблемы была в функции bufobj_invalbuf, исравил правкой флагов (наибольший эффект наименьшими средствами), попутно поправил реализацию msdosfs, не было проверки на нулевой указатель и ядро падало в панику с page fault. Так же изменению подверглась функция dounmount поскольку не уничтожала точку монтирования при отрицательном резельтате синхронизации.

Вопрос к вам товарисчи, куда мне все это деть, это вообще нужно кому нибудь???)))
Какой Русский коммитер может это заценить, английский знаю плохо))) поэтому в списки рассылки не суюсь)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "patch for FreeBSD 6.2"  
Сообщение от idle (ok) on 16-Май-07, 15:40 
>Привет всем программистам.
>
>Написал небольшой патч для ядра FreeBSD, подсистемы VFS.
>Исправляет панику при синхронизации с потеряным устройством, тобишь не отмонтировали флешку, вытащили
>и словили дамп)))
>В общем проблемы была в функции bufobj_invalbuf, исравил правкой флагов (наибольший эффект
>наименьшими средствами), попутно поправил реализацию msdosfs, не было проверки на нулевой
>указатель и ядро падало в панику с page fault. Так же
>изменению подверглась функция dounmount поскольку не уничтожала точку монтирования при отрицательном
>резельтате синхронизации.
>
>Вопрос к вам товарисчи, куда мне все это деть, это вообще нужно
>кому нибудь???)))
>Какой Русский коммитер может это заценить, английский знаю плохо))) поэтому в списки
>рассылки не суюсь)))

man send-pr
send-pr

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "patch for FreeBSD 6.2"  
Сообщение от azimut on 16-Май-07, 16:20 
Если это правда, то вопрос риторический, конечно нужно. Я хочу такой патч. Тысячи людей хотят по всему миру. Только это больше похоже (прости конечно) на стёб. Один анонимус написал на опеннете. Если это выложить хотя бы на бесплатник, поставить счётчик, и дать здесь и на bsdportal.ru ссылку желающих можно будет оценить уже через месяц. Тысячи полторы я думаю будет по-любому.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "patch for FreeBSD 6.2"  
Сообщение от A on 16-Май-07, 17:38 
>Если это правда, то вопрос риторический, конечно нужно. Я хочу такой патч.
>Тысячи людей хотят по всему миру. Только это больше похоже (прости
>конечно) на стёб. Один анонимус написал на опеннете. Если это выложить
>хотя бы на бесплатник, поставить счётчик, и дать здесь и на
>bsdportal.ru ссылку желающих можно будет оценить уже через месяц. Тысячи полторы
>я думаю будет по-любому.

+1
Я разбирался с флэшка-бедам, там весьма не простая задачка. Она, между прочим, широко обсуждается в узких кругах и затрагивает базовые подсистемы ядра.

Но откомитить надо :-) а вдруг и правда чудо произошло :-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "patch for FreeBSD 6.2"  
Сообщение от 3bepb (??) on 16-Май-07, 17:41 
>Если это правда, то вопрос риторический, конечно нужно. Я хочу такой патч.
>Тысячи людей хотят по всему миру. Только это больше похоже (прости
>конечно) на стёб. Один анонимус написал на опеннете. Если это выложить
>хотя бы на бесплатник, поставить счётчик, и дать здесь и на
>bsdportal.ru ссылку желающих можно будет оценить уже через месяц. Тысячи полторы
>я думаю будет по-любому.

Ну вы даете господа, я могу сюда выложить конкретно текст исправлений и куда их писать, какой смысл здесь пистеть (простите за выражение):))))

Просто забыл подписаться)))

Я поэтому и спросил совета куда мне это девать, потому что делал эти исправления от того что меня задолбал этот баг, который ещё с 6-ой версии действителен.

Кароче завтра diff-ом делаю файл патча, пишите куда выложить, на этом надеюсь сомнения в моей честности исчезнут...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "patch for FreeBSD 6.2"  
Сообщение от A on 17-Май-07, 08:43 
>Кароче завтра diff-ом делаю файл патча, пишите куда выложить, на этом надеюсь
>сомнения в моей честности исчезнут...

Да сомнений в честности нет. Просто, на сколько я понимаю проблема в следующем:
1) монтирует флэшку,
2) выдёргиваем её,
3) пытаемся размонтировать -- Device not configured.
4) пытаемся размонтировать с ключом -f -- паника и ребут

Дело в том, что паника связана с тем, что системный вызов umount пытается освободить ресурсы ядра, которые уже были освобождены другими механизмами. Таким образом вы могли сделать:
1) исправить внутренние системы, освобождающие ресурсы при вытаскивании флэшки, но для этого надо неплохо (даже отлично!) разбираться в GЕOM и прочих подсистемах.
2) вы "поправили" umount, теперь он не освобождает ресурсы, но это плохое решение (мне такое не нужно :-)).
3) вы что-то изменили в atausb/umass... но на сколько я понимаю этот случай паники не зависит от этих подсистем и так проблему не решить.
4) вы могли написать userspace работу с файловыми системами (продублировав функции ядра вне ядра), это не простая задача (много дублировать), но вполне решаемая, для этого есть всякие FUSE, но ведь речь не об этом? вы говорите, что правили ядро.

Мне очень интересно, что именно вы сделали. Не поясните?

Я сам писал пачи (правда не в ядро) и прекрасно представляю, что во вполне уважаемом софте могут быть совершенно тупые ошибки. Я верю, что проблему можно решить и, возможно, вы её решили. Мне просто очень интересно как именно потому, что я тоже этим занимался :-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "patch for FreeBSD 6.2"  
Сообщение от 3bepb (??) on 17-Май-07, 11:59 
Все досконально объяснять не буду слишком много печатать, поверхностно поясняю)))
Проблема была в синхронизации грязных буферов vnode, с устройством. Ну разумеется суперблок тоже не мог записаться.
Исправлению подверглась функция bufobj_invalbuf, причем минимально. Паника возникала от того что при попытке отмонтировать флеш карту вызывалась функция vflush, и от того что демон синхронизации пытался записать на это устройство. Функция делала попытку завершить все опереции ввода выводы с буферами внодов, но число этих буферов не уменьшалось, хобя поток geom g_up ошибку сразу не возвращал, просто число не завершенных операций было бльше нуля, но это не повод для паники в принципе, просто необходимо было очистить списки буфуров bufobj внода без флага V_SAFE, вот патч

--- /home/arch_kern_files_2/vfs_subr.c    Mon Dec  4 17:47:53 2006
+++ /sys/kern/vfs_subr.c    Thu May 17 11:46:32 2007
@@ -1029,8 +1029,10 @@
             * enabled under INVARIANTS
             */
            BO_LOCK(bo);
-            if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0)
-                panic("vinvalbuf: dirty bufs");
+            if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0) {
+                printf("bufobj_invalbuf: warning panic not run, error=%d\n", error);
+                flags = 0;
+            }
        }
    }
    /*


следующая проблема в процедурах unmount файловых систем, причем все они реализованы по разному и ведут себя совершенно не предсказуемо с точки зрения возвращения ошибок, если ufs возвращало код глобальной ошибки после попытки синхронизации с процедуры dounmount, то msdosfs этого не делало, в общем ufs не трогал а msdosfs поправил немножко
патчи

--- /home/arch_kern_files_2/msdosfs_vfsops.c    Wed Dec 20 12:05:30 2006
+++ /sys/fs/msdosfs/msdosfs_vfsops.c    Wed May 16 21:24:03 2007
@@ -766,8 +766,10 @@
    /* If the volume was mounted read/write, mark it clean now. */
    if ((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0) {
        error = markvoldirty(pmp, 0);
-        if (error && (flags & FORCECLOSE) == 0)
+        if (error && (flags & FORCECLOSE) == 0 && (error & ENXIO) == 0)
            return (error);
+        if (error & ENXIO)
+            error = 0;
    }
#ifdef MSDOSFS_DEBUG
    {


также в msdos была ошибка при выводе информации о не записанных секторах патч

--- /home/arch_kern_files_2/msdosfs_vnops.c    Mon Mar 13 12:05:13 2006
+++ /sys/fs/msdosfs/msdosfs_vnops.c    Thu May 17 11:44:23 2007
@@ -1834,7 +1834,9 @@

    printf("\tstartcluster %lu, dircluster %lu, diroffset %lu, ",
           dep->de_StartCluster, dep->de_dirclust, dep->de_diroffset);
-    printf("on dev %s\n", devtoname(dep->de_dev));
+    if (dep->de_dev != NULL) {
+        printf("on dev %s\n", devtoname(dep->de_dev));
+    }
    return (0);
}

НУ и процедура dounmount тоже немного поменялась, ПРИЧЕМ ПОДЧЕРКИВАЮ ЭТО НЕ ТУПАЯ ПОПЫТКА ИЗБЕЖАТЬ ПАНИКИ это все делалось с тонким расчетом и желанием как можно меньше менять в ядре
патч

--- /home/arch_kern_files_2/vfs_mount.c    Wed Oct 25 01:02:39 2006
+++ /sys/kern/vfs_mount.c    Thu May 17 11:48:49 2007
@@ -1194,6 +1194,10 @@
        (flags & MNT_FORCE)) {
        error = VFS_UNMOUNT(mp, flags, td);
    }
+    if (error & ENXIO) {
+        printf("dounmount: error=%d\n", error);
+        error = VFS_UNMOUNT(mp, 0, td);
+    }
    vn_finished_write(mp);
    if (error) {
        /* Undo cdir/rdir and rootvnode changes made above. */

Ориентировался я по номерам глобальных ошибок которые возвращались после операции io

Заценивайте...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "patch for FreeBSD 6.2"  
Сообщение от A on 17-Май-07, 13:18 
>Заценивайте...

даа... снимаю шляпу :-)
не уверен на 100%, что от этого нигде ничего не потечёт, но это надо отправить разработчикам однозначно.

думаю вам сюда: http://www.freebsd.org/projects/ideas/
там есть контактные mailы людей, занимающихся разыми вопросам.
вам наверно нужен Luigi Rizzo <luigi[at]FreeBSD.org> "Improving the USB stack in FreeBSD"
и Robert Watson <rwatson[at]FreeBSD.org> "FAT (msdosfs) infrastructure work"
посмотрите там ещё сами, может кого более подходящего присмотрите.
кроме того, посмотрите в сорцах, которые правили. я никогда не замечал, но может просто внимания не обращал, может там есть какие-то контакты.

А так.. Успехав! :-)
Держите по возможности в курсе :-)

PS. Люди! я сам во фрёвое ядро никогда ничего не комитил, если кто-то это делал, подскажите человеку, он вроде дело говорит.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(ok) on 17-Май-07, 13:31 
>>Заценивайте...
>
>даа... снимаю шляпу :-)
>не уверен на 100%, что от этого нигде ничего не потечёт, но
>это надо отправить разработчикам однозначно.
>
>думаю вам сюда: http://www.freebsd.org/projects/ideas/
>там есть контактные mailы людей, занимающихся разыми вопросам.
>вам наверно нужен Luigi Rizzo <luigi[at]FreeBSD.org> "Improving the USB stack in FreeBSD"
>и Robert Watson <rwatson[at]FreeBSD.org> "FAT (msdosfs) infrastructure work"
>посмотрите там ещё сами, может кого более подходящего присмотрите.
>кроме того, посмотрите в сорцах, которые правили. я никогда не замечал, но
>может просто внимания не обращал, может там есть какие-то контакты.
>
>А так.. Успехав! :-)
>Держите по возможности в курсе :-)
>
>PS. Люди! я сам во фрёвое ядро никогда ничего не комитил, если
>кто-то это делал, подскажите человеку, он вроде дело говорит.

Спасибо на добром слове)))
Распространите пожалуйста этот патч везде где только можно среди пользователей)))
А с английским у меня худо, только маны да сорцы читать)))
Я продолжу копать конечно, может где есть утечки...

Пишите если че))) "Zver Z." <feliks_dzerginsk@mail.ru>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "patch for FreeBSD 6.2"  
Сообщение от Drag0n7 on 18-Май-07, 13:16 
>>Заценивайте...
>
>даа... снимаю шляпу :-)
>не уверен на 100%, что от этого нигде ничего не потечёт, но
>это надо отправить разработчикам однозначно.
>
>думаю вам сюда: http://www.freebsd.org/projects/ideas/
>там есть контактные mailы людей, занимающихся разыми вопросам.
>вам наверно нужен Luigi Rizzo <luigi[at]FreeBSD.org> "Improving the USB stack in FreeBSD"
>и Robert Watson <rwatson[at]FreeBSD.org> "FAT (msdosfs) infrastructure work"
>посмотрите там ещё сами, может кого более подходящего присмотрите.
>кроме того, посмотрите в сорцах, которые правили. я никогда не замечал, но
>может просто внимания не обращал, может там есть какие-то контакты.
>
>А так.. Успехав! :-)
>Держите по возможности в курсе :-)
>
>PS. Люди! я сам во фрёвое ядро никогда ничего не комитил, если
>кто-то это делал, подскажите человеку, он вроде дело говорит.

Если проблемы с английским, то всё же рекомендую для начала подписаться хотя бы на русский список рассылки, freebsd@opennet.ru (# Russian -- maillist@opennet.ru)
И учите английский, всегда пригодится. :)

Удачи!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

29. "patch for FreeBSD 6.2"  
Сообщение от _umka_ (ok) on 07-Июн-07, 16:00 
=
>
>--- /home/arch_kern_files_2/vfs_subr.c Mon Dec  4 17:47:53 2006
>+++ /sys/kern/vfs_subr.c Thu May 17 11:46:32 2007
>@@ -1029,8 +1029,10 @@
>     * enabled under INVARIANTS
>     */
>    BO_LOCK(bo);
>-            if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0)
>-    panic("vinvalbuf: dirty bufs");
>+            if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0) {
>+    printf("bufobj_invalbuf: warning panic not run, error=%d\n", error);
>+    flags = 0;
>+   }
>   }
>  }
>  /*
>
>
больше напоминает хак чем настоящиее решение. Более правильное решение научить BO_FSYNC коректно игнорировать ошибки записи.

Решение в лоб простое - при выдергивании девайса - выставляем флаг READONLY и в функции записи при обнаружении этого флага тупа возвращаем OK.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

30. "patch for FreeBSD 6.2"  
Сообщение от 3bepb (??) on 08-Июн-07, 04:21 
>больше напоминает хак чем настоящиее решение. Более правильное решение научить BO_FSYNC коректно
>игнорировать ошибки записи.
>
>Решение в лоб простое - при выдергивании девайса - выставляем флаг READONLY
>и в функции записи при обнаружении этого флага тупа возвращаем OK.
>

Не согласен, придется модифицировать usb стек(umass) или geom, я писал коммитерам что на самом деле проблема в не коректно возвращаемой ошибке вышестоящей функции bufsync в этом цикле, поскольку g_up её возвращает. На счет перевода состояния файловой системы в readonly это хорошая идея, тогда отпадает необходимость в модификации функций размонтирования. Вижу решение в том чтобы модифицировать функции синхронизации в VFS, поскольку поток синхронизации каждые 30 секунд делает попытки записи, чтобы файловая система перешла в ro.
НО это я сделаю недели через три, может раньше, поскольку у меня сессия, и я впухаю не падецки)))
На самом деле если это действительно надо, мне будет нетрудно сделать нормальные патчи, просто я не увидел особого интереса со стороны публики, только желание подвергнуть сомнениям возможность решения этих проблем.
Советы и технические обоснованные рекомендации с удовольствием приму к сведению.
Удачи.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

31. "patch for FreeBSD 6.2"  
Сообщение от _umka_ (ok) on 08-Июн-07, 14:44 
>>больше напоминает хак чем настоящиее решение. Более правильное решение научить BO_FSYNC коректно
>>игнорировать ошибки записи.
>>
>>Решение в лоб простое - при выдергивании девайса - выставляем флаг READONLY
>>и в функции записи при обнаружении этого флага тупа возвращаем OK.
>>
>
>Не согласен, придется модифицировать usb стек(umass) или geom,
зачем? все делается на vfs уровне, макс - на geom, сползания в umass точно не надо.


>Вижу решение в том чтобы модифицировать функции
>синхронизации в VFS, поскольку поток синхронизации каждые 30 секунд делает попытки
>записи, чтобы файловая система перешла в ro.
зачем трогать BO_SYNC когда это только одна часть проблемы?
запис по любому пойдет через BO_WRITE где и проще проверить флаги устройства и проще имитировать нормально завершившиюся запись.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

32. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 09-Июн-07, 17:32 

>зачем? все делается на vfs уровне, макс - на geom, сползания в
>umass точно не надо.

>зачем трогать BO_SYNC когда это только одна часть проблемы?
>запис по любому пойдет через BO_WRITE где и проще проверить флаги устройства
>и проще имитировать нормально завершившиюся запись.
>
GEOM трогать однозначно не надо, зачем ему костыль от VFS. Если следовать вашей логике,
то добавить проверку на вид ошибки в bufstrategy, однако появляется проблема как отследить
точку монтирования которая должна быть переведена в RO. Можно через buf->b_vp.v_mount, это не трудно, можно глобальным поиском в mountlist))) Это для извращенцев и руткито писателей:

        mtx_lock(&mountlist_mtx);
    TAILQ_FOREACH_REVERSE(mp, &mountlist, mntlist, mnt_list) {
        if (strcmp(mp->mnt_stat.f_mntfromname, DEV) == 0) {
            printf("name = %s\n", mp->mnt_stat.f_mntfromname);    
            break;
        }
    }
    mtx_unlock(&mountlist_mtx);

Почему bufstrategy??? Ошибки чтения тоже имеют тот же код ENXIO, устройство не сконфигурировано, поскольку провайдер geom сдох, все операции будут идти через эту функцию.
Я думаю что это хороший способ и я его реализую, если конечно не возникнет гемороя с отдельными файловыми системами, И если все ресурсы будут освобождаться правильно в VFS, еще не известно как поведут себя вноды с грязными буферами, точно можно будет сказать только при непосредственном эксперементе, ядро фряхи это потемки)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "patch for FreeBSD 6.2"  
Сообщение от A on 17-Май-07, 08:54 
да! не сказал куда выложить :-)
Ну если вам совсем некуда, то заведите сайт на каком-нибудь народе и положите туда, я бы с превеликим интересом посмотрел бы на эти патчи.
Или уж на худой конец, киньте их мне, я их выложу где-нибудь и ссылку здесь дам.
alvm [собака] rol.ru
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "patch for FreeBSD 6.2"  
Сообщение от aGGreSSor on 18-Май-07, 03:37 
>Ну вы даете господа, я могу сюда выложить конкретно текст исправлений и
>куда их писать, какой смысл здесь пистеть (простите за выражение):))))
>
>Просто забыл подписаться)))

Ёптить, ЗВЕРь, ааааа..

>Я поэтому и спросил совета куда мне это девать, потому что делал
>эти исправления от того что меня задолбал этот баг, который ещё
>с 6-ой версии действителен.

А меня как он задолбал. Послать советают на Ruslan Ermilov <ru@FreeBSD.org>
Ну да теперь оно раскопипастится по рунету и шамо дойдёт.

>Кароче завтра diff-ом делаю файл патча, пишите куда выложить, на этом надеюсь
>сомнения в моей честности исчезнут...

Написал бы что ЗВЕРь никто бы и не сомневался. Я бы точно по крайней мере.. =)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "patch for FreeBSD 6.2"  
Сообщение от azimut on 16-Май-07, 16:37 
Можно проголосовать по этому вопросу здесь:
http://www.bsdportal.ru/viewtopic.php?t=14058

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 21-Май-07, 03:38 
Дублирую сообщение с bsdportal:
При синхронизации стабильного дерева исходных кодов с тестовым, выяснилось что не все исправления выложил, для msdosfs решение проблемы правильное, а для ufs и других файловых систем(rw in FreeBSD), к сожалению, чтобы они правильно освобождали ресурсы, тоже приходится вносить изменения, вечером выложу патч.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(ok) on 21-Май-07, 16:35 
>Дублирую сообщение с bsdportal:
>При синхронизации стабильного дерева исходных кодов с тестовым, выяснилось что не все
>исправления выложил, для msdosfs решение проблемы правильное, а для ufs и
>других файловых систем(rw in FreeBSD), к сожалению, чтобы они правильно освобождали
>ресурсы, тоже приходится вносить изменения, вечером выложу патч.
PAtch:
--- /sys/ufs/ffs/ffs_vfsops.c    Mon May 21 22:06:40 2007
+++ ffs_vfsops.c    Mon May 21 22:07:35 2007
@@ -979,10 +979,12 @@
    if (fs->fs_ronly == 0) {
        fs->fs_clean = fs->fs_flags & (FS_UNCLEAN|FS_NEEDSFSCK) ? 0 : 1;
        error = ffs_sbupdate(ump, MNT_WAIT, 0);
-        if (error) {
+        if (error && (error & ENXIO) == 0) {
            fs->fs_clean = 0;
            return (error);
        }
+        if (error & ENXIO)
+            error = 0;
    }
    DROP_GIANT();
    g_topology_lock();

Хоть кто нибудь попробуйте)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "patch for FreeBSD 6.2"  
Сообщение от sam (??) on 27-Май-07, 09:52 

>Хоть кто нибудь попробуйте)))

Попробовал. Всё прекрасно работает. Автору СПАСИБО.

Единственное пожелание - может стоит эти патчи выложить в виде
файлов, а то пришлось всё вбивать руками (copy-paste не прокатил).


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 27-Май-07, 15:34 
>
>
>>Хоть кто нибудь попробуйте)))
>
>Попробовал. Всё прекрасно работает. Автору СПАСИБО.
>
>Единственное пожелание - может стоит эти патчи выложить в виде
>файлов, а то пришлось всё вбивать руками (copy-paste не прокатил).

Дык некуда)))
Я в списки рассылки отправил, там можно файлы взять, или у меня попросить)))
Спасибо что попробовал)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "patch for FreeBSD 6.2"  
Сообщение от idle (ok) on 28-Май-07, 12:56 
>>
>>
>>>Хоть кто нибудь попробуйте)))
>>
>>Попробовал. Всё прекрасно работает. Автору СПАСИБО.
>>
>>Единственное пожелание - может стоит эти патчи выложить в виде
>>файлов, а то пришлось всё вбивать руками (copy-paste не прокатил).
>
>Дык некуда)))
Прям некуда?
Стукните в аську, могу положить на сервер, для всеобщего доступа.
icq 81340020.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "patch for FreeBSD 6.2"  
Сообщение от 3bepb (??) on 28-Май-07, 13:46 
>>>
>>>
>>>>Хоть кто нибудь попробуйте)))
>>>
>>>Попробовал. Всё прекрасно работает. Автору СПАСИБО.
>>>
>>>Единственное пожелание - может стоит эти патчи выложить в виде
>>>файлов, а то пришлось всё вбивать руками (copy-paste не прокатил).
>>
>>Дык некуда)))
>Прям некуда?
>Стукните в аську, могу положить на сервер, для всеобщего доступа.
>icq 81340020.

Ну возможно это смешно, но аськи у меня нету, я деревенский))) Если серьёзно то попозже зарегистрирую, а пока пишите на мыло.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "patch for FreeBSD 6.2"  
Сообщение от butcher (ok) on 28-Май-07, 15:13 
>Какой Русский коммитер может это заценить, английский знаю плохо))) поэтому в списки
>рассылки не суюсь)))

Напишите Константину Белоусову (kib@freebsd.org), из наших коммитеров, мне кажется, его зона интересов ближе всего.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 28-Май-07, 17:14 
>>Какой Русский коммитер может это заценить, английский знаю плохо))) поэтому в списки
>>рассылки не суюсь)))
>
>Напишите Константину Белоусову (kib@freebsd.org), из наших коммитеров, мне кажется, его зона интересов
>ближе всего.

Написал, пока тихо, мне его рекомендовал Руслан Ермилов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "patch for FreeBSD 6.2"  
Сообщение от sam (??) on 28-Май-07, 22:51 
Кстати эти патчи работают не только на 6.2-RELEASE, но и на 6.2-STABLE (на 28.05.2007).
А можно ли сделать такой же набор для CDROM, с ними тоже иногда
бывают проблемы ( например если смонтирован cdrom с дистрибом и запустить sysinstall)?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 29-Май-07, 09:10 
>Кстати эти патчи работают не только на 6.2-RELEASE, но и на 6.2-STABLE
>(на 28.05.2007).
>А можно ли сделать такой же набор для CDROM, с ними тоже
>иногда
>бывают проблемы ( например если смонтирован cdrom с дистрибом и запустить sysinstall)?
>

Сделать  можно все))) Главное, это воспроизвести эту проблему у себя. К сожалению(может к счастью) я с такой проблемой не сталкивался. Более подробно действия опиши, которые приводят к краху.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "patch for FreeBSD 6.2"  
Сообщение от sam (??) on 29-Май-07, 13:03 

>Сделать  можно все))) Главное, это воспроизвести эту проблему у себя. К
>сожалению(может к счастью) я с такой проблемой не сталкивался. Более подробно
>действия опиши, которые приводят к краху.

1. Когда смонтирован дистрибутив Freebsd ( mount /cdrom )
и при этом запустить sysinstall - panic, kernel dump и т д , но это бывает редко.

2. При чтении с повреждённого диска команда umount /cdrom часто приводит к panic, kernel dump

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "patch for FreeBSD 6.2"  
Сообщение от A on 29-Май-07, 13:06 
точно-точно! я на это налетал тоже +1
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 29-Май-07, 14:21 
>1. Когда смонтирован дистрибутив Freebsd ( mount /cdrom )
>и при этом запустить sysinstall - panic, kernel dump и т д
>, но это бывает редко.
>
>2. При чтении с повреждённого диска команда umount /cdrom часто приводит к
>panic, kernel dump
Найду хреновый диск, попробую, но сам не сталкивался.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26. "patch for FreeBSD 6.2"  
Сообщение от 3bepb email(??) on 01-Июн-07, 14:49 
>Найду хреновый диск, попробую, но сам не сталкивался.
Печально, но у меня краха нет. Ищите другие баги.
К сожалению ни один коммитер мне не ответил по существу, поэтому эти патчи так и останутся попыткой, что то исправить не только для себя. Очень жаль.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27. "patch for FreeBSD 6.2"  
Сообщение от sam (??) on 03-Июн-07, 14:27 
>>Найду хреновый диск, попробую, но сам не сталкивался.
>Печально, но у меня краха нет. Ищите другие баги.
>К сожалению ни один коммитер мне не ответил по существу, поэтому эти
>патчи так и останутся попыткой, что то исправить не только для
>себя. Очень жаль.

Всё не так уж плохо :-). У меня они уже стоят на диске 6.2-RELEASE-p5.

Может быть уже начали переписывать usb-стек, как и обещали, поэтому такая вялая реакция?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

28. "patch for FreeBSD 6.2"  
Сообщение от 3bepb (??) on 03-Июн-07, 16:44 
>Всё не так уж плохо :-). У меня они уже стоят на
>диске 6.2-RELEASE-p5.
>
>Может быть уже начали переписывать usb-стек, как и обещали, поэтому такая вялая
>реакция?

Ну дело не совсем в usb стеке, скорее в VFS, а че за исправления добавили??? Можно поподробней)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

33. "patch for FreeBSD 6.2"  
Сообщение от brag (ok) on 16-Июн-07, 15:04 
Большой респект автору патча!
Я тоже планировал поработать над этим,только руки еще не дошли. счас расковыриваю jail, надо сделать:
1. лимит юзания проца, но не жесткий,скажем 40% итп,а приоритетливый,те юзать свободное процессорное время,вернее хавать времени чуть-чуть(выставляется),а остальное,если есть свободное.
2. лимит рамы. тут уже жестко. 2мб,значит 2 :)
это все должно действовать на весь jail целиком,без разбору,в сумме. и плюс в нутри каждого jail-а могут работать свои login.conf лимиты.
ну и виртуального рута,отмапленого на хостовой системе,скажем на nobody или выборочно на какой-то uid для каждого jail отдельно.
И еще жесткие лимиты распространить на root-а на хостовой системе,чтобы при определенной sysctl, равной 1(и ее нельзя декрейсить,подобно kern.securelevel,по умолчанию 0,но можно инкрейсить) нельзя было увиличить себе rlimit,только уменьшить.
Есть какай-то реализация в perforce, jail2 называется,но я ее не копал
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

34. "patch for FreeBSD 6.2"  
Сообщение от _umka_ email(ok) on 16-Июн-07, 22:46 
>Есть какай-то реализация в perforce, jail2 называется,но я ее не копал
это моя поделка :)
щас в связи с сменой работы времени стало совсем мизер, но если надо могу подсказать куда копать что бы сделать это.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

35. "patch for FreeBSD 6.2"  
Сообщение от _umka_ email(ok) on 17-Июн-07, 15:59 
>Большой респект автору патча!
>Я тоже планировал поработать над этим,только руки еще не дошли. счас расковыриваю
>jail, надо сделать:
>1. лимит юзания проца, но не жесткий,скажем 40% итп,а приоритетливый,те юзать свободное
>процессорное время,вернее хавать времени чуть-чуть(выставляется),а остальное,если есть свободное.
тут вариантов по сути не много, самый простой и добавлящий неплохо оверхеад - это счетчик который накапливает использование CPU за HZ - и потом скипает треды в точке выбора.
просто - но когда у тебя много процессов в очереди на выполнение - не экономно.
более интересный вариант или лоторейный или fair share шедулеры - они заменяют собой 44BSD или ULE (и его доработку от Давида Ксю) на свой - тут можно добиться практически O(1). для примера можно глянуть как это сделано в OpenVZ или поискать наработки для 4.x/5.x по лоторейному шедулеру.

>2. лимит рамы. тут уже жестко. 2мб,значит 2 :)
а вот тут определись какой рамы:
1) address space
2) resident size
3) resident + swap
4) реально аллоцированные странички памяти - с учетом того что память может шариться между задачами?

>это все должно действовать на весь jail целиком,без разбору,в сумме. и плюс
>в нутри каждого jail-а могут работать свои login.conf лимиты.
>ну и виртуального рута,отмапленого на хостовой системе,скажем на nobody или выборочно на
>какой-то uid для каждого jail отдельно.
аха. в jail2 это уже давно есть. называется разделение uid hash.


>И еще жесткие лимиты распространить на root-а на хостовой системе,чтобы при определенной
>sysctl, равной 1(и ее нельзя декрейсить,подобно kern.securelevel,по умолчанию 0,но можно инкрейсить)
>нельзя было увиличить себе rlimit,только уменьшить.
есть в jail2. rlimit ты можешь выставлять что угодно - а то что выставлено для контекста будет проверяться раньше.

>Есть какай-то реализация в perforce, jail2 называется,но я ее не копал
;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

36. "patch for FreeBSD 6.2"  
Сообщение от ыфь on 05-Июл-07, 14:54 
>>Всё не так уж плохо :-). У меня они уже стоят на
>>диске 6.2-RELEASE-p5.
>>
>>Может быть уже начали переписывать usb-стек, как и обещали, поэтому такая вялая
>>реакция?
>
>Ну дело не совсем в usb стеке, скорее в VFS, а че
>за исправления добавили??? Можно поподробней)))

Вот ссылка:
https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=show_thread&omm=0&om=37153&forum=vsluhforumID3

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру