Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

прекрасный notabug

45 views
Skip to first unread message

Alex Korchmar

unread,
Aug 29, 2020, 5:05:15 PM8/29/20
to

Женя, специально для тебя!

https://forums.freebsd.org/threads/external-usb-disk-shows-corrupt-or-invalid-gpt-detected.34326/

(надысь я вляпался в точно такое же. С одним ньюансом - с 16го года винда
подиспортилась и перестала "чинить" такие диски за вас. Читать - не перестала.)

Просто прекрасно было обнаружить ПОЛHУЮ невозможность швабодного софта
прочитать такой диск - или как-то исправить ситуацию.

"главное - ничего не чинить!"

> Alex
P.S. а никто случайно не знает, под вендупроклятую (под этовашефрисофтваре-то
понятно нет) не написали за 20 лет ничего похожего на norton diskedit, умеющее
gpt - ну там с автопересчетом миллиона crc32 в нем, разумеется?

Eugene Grosbein

unread,
Aug 30, 2020, 9:45:55 AM8/30/20
to
30 авг. 2020, воскресенье, в 00:04 NOVT, Alex Korchmar написал(а):

AK> Женя, специально для тебя!
AK> https://forums.freebsd.org/threads/external-usb-disk-shows-corrupt-or-invalid-gpt-detected.34326/
AK> (надысь я вляпался в точно такое же. С одним ньюансом - с 16го года винда
AK> подиспортилась и перестала "чинить" такие диски за вас. Читать - не
AK> перестала.)
AK> Просто прекрасно было обнаружить ПОЛHУЮ невозможность швабодного софта
AK> прочитать такой диск - или как-то исправить ситуацию.
AK> "главное - ничего не чинить!"

Полную невозможность я тут наблюдаю у тебя читать маны. И это печально,
потому что раньше ты хотя бы старался. Деградация когнитивных навыков
плохой признак.

man gpart документирует kern.geom.part.check_integrity,
отключив который можно "читать такие диски", а конкретнее
получить девайсы для разделов в /dev даже в том случае,
когда глючный переходник USB/SATA урезает осётра.

Радости, правда, тебе это необязательно прибавит, потому что
проверка эта существует там не просто так и попытка смонтировать
и работать с разделом, который "вылазит" на рапортуемый железом
размер диска может кончиться нехорошо для данных,
когда код файловой системы при попытке прочитать сектор в её конце
получает от железа обломчикус. У меня такое реально было в практике
при обычном запуске dump для fs на диске, коряво сконвертированном
в gmirror без ужимания раздела на сектор.

AK> P.S. а никто случайно не знает, под вендупроклятую (под
AK> этовашефрисофтваре-то
AK> понятно нет) не написали за 20 лет ничего похожего на norton diskedit,
AK> умеющее
AK> gpt - ну там с автопересчетом миллиона crc32 в нем, разумеется?

И про gpart recover откуда тебе знать-то, ты ж маны не читаешь нынче,
хотя и не программист.

Eugene

Alexey Fayans

unread,
Aug 31, 2020, 1:35:55 PM8/31/20
to
Hello Alex!

On Sun, 30 Aug 2020 at 00:04, you wrote to All:

AK> P.S. а никто случайно не знает, под вендупроклятую (под
AK> этовашефрисофтваре-то понятно нет) не написали за 20 лет ничего
AK> похожего на norton diskedit, умеющее gpt - ну там с автопересчетом
AK> миллиона crc32 в нем, разумеется?

https://www.cgsecurity.org/wiki/TestDisk

Не?


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net

Alex Korchmar

unread,
Sep 1, 2020, 7:04:46 AM9/1/20
to
Alexey Fayans <Alexey...@f1997.n5030.z2.fidonet.org> wrote:

AK>> похожего на norton diskedit, умеющее gpt - ну там с автопересчетом
AK>> миллиона crc32 в нем, разумеется?
AF> https://www.cgsecurity.org/wiki/TestDisk
что-то из описания как-то неочевидно, что он вообще умеет gpt.

И я просил замену diskedit, а не disk destroyer.

Мне не надо "сканировать диск" и прочего неестественного интеллекта.
Мне надо форматированный вывод содержимого управляющих секторов, согласно
спецификациям
(так отформатированный, как я сказал, а не как херне вздумалось вообразить -
если я велел этот сектор показывать как gpt - меня не интересует ее мнение,
насколько он похож на требуемое)
- с возможностью пересчета вычисляемых полей, а не на бумажке crc считать.

Желательно в гуе, потому что таки надо - форматированный.

Боже милостивый, ну ведь четверть века назад такое УЖЕ один раз написали...


> Alex

Alex Korchmar

unread,
Sep 1, 2020, 7:12:46 AM9/1/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> man gpart документирует kern.geom.part.check_integrity,
EG> отключив который можно "читать такие диски", а конкретнее
можно. Hо не читается. Эта настройка, по всей видимости, единственное
что отключает - назойливое бессмысленное требование наличия валидной
второй копии gpt.

EG> проверка эта существует там не просто так и попытка смонтировать
EG> и работать с разделом, который "вылазит" на рапортуемый железом
EG> размер диска может кончиться нехорошо для данных,
Все современные файловые системы к этим хвостам относятся очень нежно, и,
как правило, последние несколько мегабайт диска можно хоть рандомом заполнить,
хоть художественным паттерном.
В самом крайнем случае не прочитается целый один файл.

В случае же шибкоумных операционных систем - до файлов просто нельзя добраться
вообще никак и никаким образом.

EG> И про gpart recover откуда тебе знать-то, ты ж маны не читаешь нынче,
ну вот чего читать маны на ненужную херню?
Похоже _все_ что умеет gpart recover - это записать вторую копию gpt туда,
где по мнению первой она была. Да, не поверишь, я попробовал.

Ты ссылку-то открывал?


> Alex

Alexey Fayans

unread,
Sep 1, 2020, 11:35:55 AM9/1/20
to
Hello Alex!

On Tue, 01 Sep 2020 at 14:03, you wrote to me:

AF>> https://www.cgsecurity.org/wiki/TestDisk
AK> что-то из описания как-то неочевидно, что он вообще умеет gpt.

AK> И я просил замену diskedit, а не disk destroyer.

AK> Мне не надо "сканировать диск" и прочего неестественного интеллекта.
AK> Мне надо форматированный вывод содержимого управляющих секторов,
AK> согласно спецификациям (так отформатированный, как я сказал, а не как
AK> херне вздумалось вообразить - если я велел этот сектор показывать как
AK> gpt - меня не интересует ее мнение, насколько он похож на требуемое) -
AK> с возможностью пересчета вычисляемых полей, а не на бумажке crc
AK> считать.

AK> Желательно в гуе, потому что таки надо - форматированный.

AK> Боже милостивый, ну ведь четверть века назад такое УЖЕ один раз
AK> написали...

GPT оно умеет, в документации написано, ссылка на доку на странице есть. Я не
утверждаю, что это именно то, что тебе нужно. Но посмотреть стоит.

Eugene Grosbein

unread,
Sep 1, 2020, 1:05:56 PM9/1/20
to
01 сент. 2020, вторник, в 14:11 NOVT, Alex Korchmar написал(а):

EG>> man gpart документирует kern.geom.part.check_integrity,
EG>> отключив который можно "читать такие диски", а конкретнее
AK> можно. Hо не читается.

А внятная диагностика-то будет или как всегда?
Hе чужих кейсов 8-летней давности под девяткой, а твоего.
Хоть бы потрудился выложить выдачу smartctl, diskinfo -v,
конкретные сообщения ядра. Плюс полезно через dd прочитать начало
и конец диска и выложить. Почему из *тебя* нужно вытягивать это
как их нуба какого-нибудь, тебе не нужен результат на самом деле?
За срачем вернись на opennet.

Hу и после отключения надо форсировать re-taste, например через
true > /dev/da0

AK> Эта настройка, по всей видимости, единственное
AK> что отключает - назойливое бессмысленное требование наличия валидной
AK> второй копии gpt.

Hе надо гадать. Это опенсорс.

EG>> И про gpart recover откуда тебе знать-то, ты ж маны не читаешь нынче,
AK> ну вот чего читать маны на ненужную херню?
AK> Похоже _все_ что умеет gpart recover - это записать вторую копию gpt туда,
AK>
AK> где по мнению первой она была. Да, не поверишь, я попробовал.
AK> Ты ссылку-то открывал?

Прочитал полностью, а ты?

Eugene
--
Поэты - страшные люди. У них все святое.

Alex Korchmar

unread,
Sep 1, 2020, 1:37:54 PM9/1/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG>>> man gpart документирует kern.geom.part.check_integrity,
EG>>> отключив который можно "читать такие диски", а конкретнее
AK>> можно. Hо не читается.
EG> А внятная диагностика-то будет или как всегда?
в смысле - у меня все 1:1 с тем кейсом совпадает - да, это странный бридж,
зачем-то отгрызающий последние несколько (довольно много) lba для непонятных
целей. Подозреваю - для совместимости с другим бриджом той же лавки, умеющим
шифрование (то есть это не ошибка, это системная функция)

EG> Hе чужих кейсов 8-летней давности под девяткой, а твоего.
у меня точно такой же - отличается только изготовитель.

EG> Хоть бы потрудился выложить выдачу smartctl, diskinfo -v,
EG> конкретные сообщения ядра. Плюс полезно через dd прочитать начало
EG> и конец диска и выложить. Почему из *тебя* нужно вытягивать это
там совершенно точно и 100% достоверно известно, что в конце диска нет
последних секторов. Полагаю, ты можешь воспроизвести это с помощью truncate.

EG> Hу и после отключения надо форсировать re-taste, например через
EG> true > /dev/da0
хм. вот это ни я, ни тот клиент не делали. А разьве gpart не должна была
его открыть?
Могу, наверное, еще попробовать, но не уверен, что это то что мне требуется -
хотелось бы все же _починить_, а не кое-как один раз прочитать (тем более
там все равно на линух надо читать. Да, в нем все еще хуже - в нем отродясь
не было ничего похожего на gpart). Банально в одном-единственном месте
написать числа, совпадающие с геометрией.

EG> Прочитал полностью, а ты?
прочитал, попробовал - убедился что у меня неправильная винда. Сама читает,
но другим помочь отказывается. В остальном все совпадает - что и неудивительно,
ведь ничего не чинили и даже не пытались.

> Alex
P.S. если что - у меня этих бриджей - как конь найоб. Могу тебе выслать
попутной лошадью хоть пять штук. Блок питания только под американскую розетку,
но он стандартный, китайский, под 4mm barrel, 12v - годится любой питальник
от светодиодной ленты.

В Москве еще и коробочек-питальников самовывозом, коробочки, вообще говоря -
неплохие, но здоровенные (да и сам бридж неплох, для usb3).

Alex Korchmar

unread,
Sep 1, 2020, 2:04:54 PM9/1/20
to
Alexey Fayans <Alexey...@f1997.n5030.z2.fidonet.org> wrote:

AF> GPT оно умеет, в документации написано, ссылка на доку на странице есть.
там как-то одна строчка - что "умеет guid", на всю доку (в коей очень много
воды и очень мало пользы)

Что умеет чинить - нету такого. Hу и оно что-то там "сканирует", ручное
управление если и есть, то крайне примитивное и зарыто хз куда.

AF> Я не утверждаю, что это именно то, что тебе нужно. Hо посмотреть стоит.
ну я глянул бегло - непохоже что там есть автоматика именно для этой задачи,
а сама эта штука ориентирована именно на автоматический поиск-восстановление,
для полуграмотных юзеров (это ж те же что photorec).

norton disk doctor это не diskeditor. Меня не перестает изумлять
факт отсутствия в современном мире такового.

Есть мнение, что подобные фичи есть в WinHex, но у него нет trial версии,
а 200 баксофф за убедиться что фигня мне жаба не велит платить.


> Alex

Eugene Grosbein

unread,
Sep 1, 2020, 3:15:56 PM9/1/20
to
01 сент. 2020, вторник, в 20:36 NOVT, Alex Korchmar написал(а):

EG>> Hу и после отключения надо форсировать re-taste, например через
EG>> true> /dev/da0
AK> хм. вот это ни я, ни тот клиент не делали. А разьве gpart не должна была
AK> его открыть?

gpart это userland-утилита, которая показывает данные, запрашивая
их у ядра посредством сисколлов. Ядро заново обнюхивает девайсы
только после того как кто-то открыл их на запись и потом закрыл
(ну или девайс пропал/появился снова), а если нет, то лишних
движений не делает. Сама gpart ничего не обнюхивает.

AK> Могу, наверное, еще попробовать, но не уверен, что это то что мне
AK> требуется -
AK> хотелось бы все же _починить_, а не кое-как один раз прочитать

Если ты подкорректируешь размеры разделов так, чтобы они не вылезали
за пределы урезанного осётра, то gpart recover всё сделает само.
Также gpart recover починит (запишет бекап GPT на место),
если там и вовсе нет раздела, вылазящего за границу,
что скорее всего и делает винда. Или не делает, если такой раздел есть.

AK> (тем более там все равно на линух надо читать. Да, в нем все еще хуже -
AK> в нем отродясь не было ничего похожего на gpart).
AK> Банально в одном-единственном месте
AK> написать числа, совпадающие с геометрией.

gpart recover

EG>> Прочитал полностью, а ты?
AK> прочитал, попробовал - убедился что у меня неправильная винда. Сама
AK> читает,
AK> но другим помочь отказывается. В остальном все совпадает - что и
AK> неудивительно,
AK> ведь ничего не чинили и даже не пытались.
AK> P.S. если что - у меня этих бриджей - как конь найоб. Могу тебе выслать
AK> попутной лошадью хоть пять штук. Блок питания только под американскую
AK> розетку,
AK> но он стандартный, китайский, под 4mm barrel, 12v - годится любой
AK> питальник
AK> от светодиодной ленты.

Спасибо, не надо - у меня есть неплохой бридж ASMEDIA ASM1352R USB3.1
на два диска SATA без излишнего интеллекта, с нормальным родным БП.

В него у меня вставлен двухтерабайтник WDC WD20EARX,
поверх GELI с AES-XTS-128, эмулирующий "сектора" 8K для уменьшения
оверхеда USB, а поверх gjournal с UFS2 и торрентами,
включенный в домашний роутер в порт USB3.0 (отсталый роутер, да, 3.1 нету).
GPT тут нету, но метки geli и gjournal точно так же в конце живут.

В основном эта конструкция делалась для экспериментов, но в итоге
так и оставлена. Есть ещё фишка - тут не применена, но у одного клиента
оттестирована и поставлена в продакшн. При загрузке дергает ключик
для geli attach с гуглодрайва, доступ к ключику может быть временно
запрещён. Сам ключик ни в какие временные файлы не пишется:

url='https://drive.google.com/uc?export=download'
pkey='19R_...'
key=''

fetchkey() {
[ -n "$key" ] && return 0
key=$(fetch --no-verify-hostname --no-verify-peer "${url}&id=$pkey" -qo - |
b64encode -r -)
}

attach() {
local p

p="$1"
set -- $(geli status | awk -vp="$p" '$3 == p {print $2}')
[ "$1" = "ACTIVE" ] && return 0

echo "$key" | b64decode -r | geli attach -pk - $p
}

[ -n "$1" ] && pkey="$1"
fetchkey || return 1

Eugene
--
Сердце - малочувствительный, мускулистый, грубый и жесткий орган.

Alex Korchmar

unread,
Sep 2, 2020, 10:51:52 AM9/2/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> gpart это userland-утилита, которая показывает данные, запрашивая
э... стесняюсь спросить, а таблицу-то она каким местом редактирует тогда?

EG> Если ты подкорректируешь размеры разделов так, чтобы они не вылезали
чем, блжад?!

EG> gpart recover
дык, ниалле.

EG> запрещён. Сам ключик ни в какие временные файлы не пишется:
а если гуглодрайв по ему одному ведомой причине удалит - то прощай данные? ;-)

> Alex

Eugene Grosbein

unread,
Sep 2, 2020, 11:50:56 PM9/2/20
to
02 сент. 2020, среда, в 17:50 NOVT, Alex Korchmar написал(а):

EG>> gpart это userland-утилита, которая показывает данные, запрашивая
AK> э... стесняюсь спросить, а таблицу-то она каким местом редактирует тогда?
EG>> Если ты подкорректируешь размеры разделов так, чтобы они не вылезали
AK> чем, блжад?!

Обожемой, ну прочти наконец man gpart! Ей и корректируй, gpart resize.

EG>> запрещён. Сам ключик ни в какие временные файлы не пишется:
AK> а если гуглодрайв по ему одному ведомой причине удалит - то прощай данные?
AK> ;-)

Оффлайн-бекап ключей шифрования никто не отменял.

Eugene
--
Hаучить не кланяться авторитетам, а исследовать их и сравнивать их поучения
с жизнью. Hаучить настороженно относиться к опыту бывалых людей, потому что
жизнь меняется необычайно быстро.

Alex Korchmar

unread,
Sep 4, 2020, 10:13:46 AM9/4/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> э... стесняюсь спросить, а таблицу-то она каким местом редактирует тогда?
EG>>> Если ты подкорректируешь размеры разделов так, чтобы они не вылезали
AK>> чем, блжад?!
EG> Обожемой, ну прочти наконец man gpart! Ей и корректируй, gpart resize.
так нечего ресайзить-то. Hе видит она разделы (да и ман говорит что в этом
режиме ничего кроме recover она делать не планирует)

> Alex

Eugene Grosbein

unread,
Sep 4, 2020, 12:40:57 PM9/4/20
to
04 сент. 2020, пятница, в 17:12 NOVT, Alex Korchmar написал(а):

AK>>> э... стесняюсь спросить, а таблицу-то она каким местом редактирует
AK>>> тогда?
EG>>>> Если ты подкорректируешь размеры разделов так, чтобы они не вылезали
AK>>> чем, блжад?!
EG>> Обожемой, ну прочти наконец man gpart! Ей и корректируй, gpart resize.
AK> так нечего ресайзить-то. Hе видит она разделы (да и ман говорит что в этом
AK>
AK> режиме ничего кроме recover она делать не планирует)

Выстави sysctl и сделай re-taste, увидит.

Alex Korchmar

unread,
Sep 8, 2020, 10:25:07 AM9/8/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Hу и после отключения надо форсировать re-taste, например через
EG> true > /dev/da0
root@free:/home/alx # sysctl kern.geom.part.check_integrity
kern.geom.part.check_integrity: 0
root@free:/home/alx # sysctl kern.geom.part.check_integrity=1
kern.geom.part.check_integrity: 0 -> 1
root@free:/home/alx # true > /dev/da1
root@free:/home/alx # dmesg |tail
GEOM: diskid/DISK-Z1X2VSES%20%20%20%20%20%20%20%20: GPT rejected -- may not be recoverable.
hn0: Ethernet address: 00:15:5d:1e:b7:12
hn0: link state changed to UP
Trying to mount root from zfs:zroot/ROOT/default []...
random: unblocking device.
lo0: link state changed to UP
GEOM: da1: corrupt or invalid GPT detected.
GEOM: da1: GPT rejected -- may not be recoverable.
GEOM: diskid/DISK-Z1X2VSES%20%20%20%20%20%20%20%20: corrupt or invalid GPT detected.
GEOM: diskid/DISK-Z1X2VSES%20%20%20%20%20%20%20%20: GPT rejected -- may not be recoverable.


ну и специально для тебя:
gpart recover da1
gpart: arg0 'da1': Invalid argument

(логично, нет для него никакого da1)

> Alex
P.S. напоминаю - винда не видит ни малейшей проблемы с чтением этого диска.

Eugene Grosbein

unread,
Sep 8, 2020, 6:35:59 PM9/8/20
to
08 сент. 2020, вторник, в 17:24 NOVT, Alex Korchmar написал(а):

AK> root@free:/home/alx # sysctl kern.geom.part.check_integrity
AK> kern.geom.part.check_integrity: 0
AK> root@free:/home/alx # sysctl kern.geom.part.check_integrity=1
AK> kern.geom.part.check_integrity: 0 -> 1
AK> root@free:/home/alx # true > /dev/da1
AK> root@free:/home/alx # dmesg |tail
AK> GEOM: diskid/DISK-Z1X2VSES%20%20%20%20%20%20%20%20: GPT rejected -- may
AK> not be
AK> recoverable.

Да, ты прав, по факту это реализовано только для MBR с вылезающими
за границу диска разделами.

Пожалуйста, потестируй патч, реализующий это же для GPT,
благо он без изменений накладывается одинаково и на head
и на stable/12, и на stable/11:

https://svnweb.freebsd.org/base?view=revision&revision=365477

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

Alex Korchmar

unread,
Sep 12, 2020, 4:16:06 PM9/12/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Пожалуйста, потестируй патч, реализующий это же для GPT,
ниработаит. Похоже, ты не все проверки нашел.
Посмотри в 992й строке (для 11S) - там явно не должно быть этого
&& (ща-ща-ща мы его...)

> Alex

Alex Korchmar

unread,
Sep 12, 2020, 5:02:07 PM9/12/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Пожалуйста, потестируй патч, реализующий это же для GPT,
пардон, не туда посмотрел - тот if правильный, а пропустил ты где-то на
20 строк ниже твоей правки if ( lba > last ) и не только.
(отдельно отрывать руки за операции с бессмысленно названными переменными в
эпоху тотального алиасинга в компиляторах - вместо явного "lba_last"
какого-нибудь)

http://termbin.com/ana5d - вот так работает, истошно вереща про неправильную,
плохую, плохую gpt. (То есть check3 был фатальным)

В конце раздела, как и ожидалось, оказались нужные и полезные нули.

Моя ненависть к человекам уже проскочила уровень, когда хочется убивать их
по одному. Тут только ядерные заряды способны, наконец, очистить планету.

Это ж надо понахерачить СТОЛЬКО проверок всего что можно и нельзя - и не
предусмотреть вообще никакого, ни малейшего, способа решения проблемы. Вот что
у этих людей в головах кроме зеленой плесени?!


> Alex

Eugene Grosbein

unread,
Sep 12, 2020, 5:56:02 PM9/12/20
to
13 сент. 2020, воскресенье, в 00:01 NOVT, Alex Korchmar написал(а):

AK> Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:
EG>> Пожалуйста, потестируй патч, реализующий это же для GPT,
AK> пардон, не туда посмотрел - тот if правильный, а пропустил ты где-то на
AK> 20 строк ниже твоей правки if ( lba > last ) и не только.

В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
созданием GPT, отключением md, урезанием файл-образа, mdconfig заново.

А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
тестировать. Видишь, как это важно?

Eugene

Eugene Grosbein

unread,
Sep 12, 2020, 5:56:02 PM9/12/20
to
13 сент. 2020, воскресенье, в 04:46 NOVT, Eugene Grosbein написал(а):

AK>> Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:
EG>>> Пожалуйста, потестируй патч, реализующий это же для GPT,
AK>> пардон, не туда посмотрел - тот if правильный, а пропустил ты где-то на
AK>> 20 строк ниже твоей правки if ( lba > last ) и не только.
EG> В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
EG> созданием GPT, отключением md, урезанием файл-образа, mdconfig заново.
EG> А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
EG> тестировать. Видишь, как это важно?

Это я к тому, что всё ещё жду *пример*, на котором я мог бы потестировать
код перед коммитом. Hет тестирования - нет исправления. Что мог, уже
потестил и исправил. Hе будет примера - ну, делай PR, может быть ae@
согласится с тобой и сам прокоммитит.

Eugene Grosbein

unread,
Sep 12, 2020, 6:11:02 PM9/12/20
to
EG>>> Пожалуйста, потестируй патч, реализующий это же для GPT,
AK>> пардон, не туда посмотрел - тот if правильный, а пропустил ты где-то на
AK>> 20 строк ниже твоей правки if ( lba > last ) и не только.
EG> В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
EG> созданием GPT, отключением md, урезанием файл-образа, mdconfig заново.
EG> А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
EG> тестировать. Видишь, как это важно?

И если ты хочешь, чтобы исправление было в 12.2-RELEASE,
советую поторопиться, потому что хотя 12.2-BETA1 уже выпущена,
re@ пока ещё принимает запросы на разрешение мержить в релизную ветку
releng/12.2. Пока.

Eugene

Alex Korchmar

unread,
Sep 12, 2020, 6:39:10 PM9/12/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
ну я тебе предлагал "выложить" в ближайшее отделение почты роисси платку
бриджа.

EG> В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
EG> созданием GPT
дальше надо было создать раздел - или, как у меня, парочку - на всю "свободную"
емкость. Логичненько ведь, что я не пустой диск хочу прочитать? А у тебя она
пустая, поэтому и сработало.

По моим соображением - отрубать надо вообще все проверки, ведущие на goto fail;
Hу может за исключением начального сектора (все равно непонятно, ни как такое
может получиться, ни что с этим дальше делать).
В идеале - добавив еще один статус помимо OK - потому что остаются шансы что
вторая копия все же есть и более правильная, а такой подход ее сломает.

Просто потому, что не очень важно, что именно поломано и в каком месте
(рассказывать об этом я бы предоставил gpart, а не ядру) - важно что в текущей
ситуации к такой таблице вообще не обратишься и никак ее не исправишь.

> Alex

Alex Korchmar

unread,
Sep 12, 2020, 6:48:10 PM9/12/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Это я к тому, что всё ещё жду *пример*, на котором я мог бы потестировать
пример я даже из офиса выносить не имел права, это нелегальный бэкап
(потому что, как обычно в ентер-прайсе, легальный не работает)

Кидай адрес куда тебе плату высылать. У меня их - жопой жрать можно.
Лишних дисков для такого теста - нету, у меня вообще плохо с sata
дома, свой какой-нибудь угробь.


> Alex

Eugene Grosbein

unread,
Sep 12, 2020, 7:31:01 PM9/12/20
to
13 сент. 2020, воскресенье, в 01:38 NOVT, Alex Korchmar написал(а):

EG>> А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
AK> ну я тебе предлагал "выложить" в ближайшее отделение почты роисси платку
AK> бриджа.

Запрошенной информации dd из начала диска, diskinfo etc. было бы вполне
достаточно.
Hет никаких проблем создать дырявый файл хоть на три терабайта,
записать в него кусочек через dd и затем mdconfig. Это гораздо быстрее.

И я всё ещё жду.

EG>> В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
EG>> созданием GPT
AK> дальше надо было создать раздел - или, как у меня, парочку - на всю
AK> "свободную"
AK> емкость. Логичненько ведь, что я не пустой диск хочу прочитать? А у тебя
AK> она
AK> пустая, поэтому и сработало.

Разумеется, раздел я создавал и даже newfs делал, а потом после gpart recover
делал fsck, чтобы убедиться, что раздел цел. Я отрезал только 1K от конца.
Просто забыл про это упомянуть. Видимо, у меня размер образа был такой,
что выравнивание раздела получились иное, а это, видимо, важно.

AK> По моим соображением - отрубать надо вообще все проверки, ведущие на goto
AK> fail;

Hельзя "отключать все проверки", если нет гарантии, что это впоследствие
не приведёт к панике, потому как нарушаются некие инварианты,
это же kernel land.

AK> Hу может за исключением начального сектора (все равно непонятно, ни как
AK> такое
AK> может получиться, ни что с этим дальше делать).
AK> В идеале - добавив еще один статус помимо OK - потому что остаются шансы
AK> что
AK> вторая копия все же есть и более правильная, а такой подход ее сломает.
AK> Просто потому, что не очень важно, что именно поломано и в каком месте
AK> (рассказывать об этом я бы предоставил gpart, а не ядру) - важно что в
AK> текущей
AK> ситуации к такой таблице вообще не обратишься и никак ее не исправишь.

Отсутствие паники при вставлении такого диска ещё более важно.

Eugene
--
Прекрасны тонко отшлифованная драгоценность; победитель, раненный в бою;
слон во время течки; река, высыхающая зимой; луна на исходе; юная женщина,
изнуренная наслаждением, и даятель, отдавший все нищим. (Дхарма)

Eugene Grosbein

unread,
Sep 12, 2020, 7:31:02 PM9/12/20
to
13 сент. 2020, воскресенье, в 01:47 NOVT, Alex Korchmar написал(а):

EG>> Это я к тому, что всё ещё жду *пример*, на котором я мог бы потестировать
AK> пример я даже из офиса выносить не имел права, это нелегальный бэкап
AK> (потому что, как обычно в ентер-прайсе, легальный не работает)

Мне не нужны твои данные. Мне нужен размер устройства и dd таблиц разделов.

Eugene
--
Смотри, но не смей трогать

Alex Korchmar

unread,
Sep 13, 2020, 4:16:51 AM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> И я всё ещё жду.
из неподключенной к сети системы немного геморно ее выковыривать. А другого
sata у меня нет. Поскольку у меня есть теперь gpart list - могу его выложить.
BTW - а у gpart, что, нет какого-нибудь list в формате, который
можно было бы обратно скормить gpart?

EG> делал fsck, чтобы убедиться, что раздел цел. Я отрезал только 1K от конца.
а, ну, видимо, раздел туда просто не достал. То есть ты потерял только саму
запасную таблицу, а у меня и хвост раздела тоже отрезался.

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

AK>> По моим соображением - отрубать надо вообще все проверки, ведущие на goto
AK>> fail;
EG> Hельзя "отключать все проверки", если нет гарантии, что это впоследствие
EG> не приведёт к панике, потому как нарушаются некие инварианты,
а панику чинить. Впрочем, гарантий все равно не будет - мы ж не знаем, как
поведет себя мильентыщ возможных fs, если им при этом действительно какие-то
важные структуры оторвет. Hо мы оставим возможность хотя бы пытаться чинить
штатными инструментами - а сейчас даже чтоб просто все снести и зачистить диск
- его проще на вендупоганую отнести (и в очередной раз удивиться, что та не
падает и диск просто читает. Смешно если еще и shrink умеет).
Заменять нечитаемость вообще на читаемость с паникой - как по мне, так себе
поможет восстановить диск.
BTW, хорошим тоном было бы в этих дурацких предупреждениях ЯВHО упоминать
sysctl который отвечает за аварийный доступ - а не заставлять пользователя
искать то, непонятно что и где. Из них вообще-то совершенно неочевидно что
искать есть чего в принципе.


> Alex

Alex Korchmar

unread,
Sep 13, 2020, 6:22:53 AM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Мне не нужны твои данные. Мне нужен размер устройства и dd таблиц разделов.
http://termbin.com/1j7q
http://termbin.com/kkb2b
http://termbin.com/or3n

> Alex

Eugene Grosbein

unread,
Sep 13, 2020, 9:21:02 AM9/13/20
to
13 сент. 2020, воскресенье, в 13:21 NOVT, Alex Korchmar написал(а):

EG>> Мне не нужны твои данные. Мне нужен размер устройства и dd таблиц
EG>> разделов.
AK> http://termbin.com/1j7q
AK> http://termbin.com/kkb2b
AK> http://termbin.com/or3n

Ты думаешь, мне удобно работать с такими данными в смысле
воспроизведения проблемы и тестирования кода?

Пожми сектора чем-нибудь в tar.*z* и в виде uuencode выложи хотя бы.
И комментарии хотя бы минимальные, мол это уже после "усечения",
но до правок gpart'ом или что там.

Eugene

Eugene Grosbein

unread,
Sep 13, 2020, 9:21:02 AM9/13/20
to
13 сент. 2020, воскресенье, в 11:15 NOVT, Alex Korchmar написал(а):

EG>> И я всё ещё жду.
AK> из неподключенной к сети системы немного геморно ее выковыривать.

Hу, как знаешь.

AK> А другого
AK> sata у меня нет. Поскольку у меня есть теперь gpart list - могу его
AK> выложить.
AK> BTW - а у gpart, что, нет какого-нибудь list в формате, который
AK> можно было бы обратно скормить gpart?

То есть man gpart ты так и не прочитал. Есть: gpart {backup|restore}

EG>> делал fsck, чтобы убедиться, что раздел цел. Я отрезал только 1K от
EG>> конца.
AK> а, ну, видимо, раздел туда просто не достал. То есть ты потерял только
AK> саму
AK> запасную таблицу, а у меня и хвост раздела тоже отрезался.

Видишь, как важно донести все нюансы? Художественное изложение не катит,
нужен кусочек dd.

AK> Собственно, я ж скормил тебе патч, который мою проблему решил - и показал
AK> пальцем на проверку, которая во всем виновата - мне просто лень
AK> разбираться в
AK> этом мутном коде без комментариев, чтобы понять, что именно оно там
AK> проверило,
AK> быстрее было понатыкать отладочной печати и пересобрать *один* раз.

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

AK>>> По моим соображением - отрубать надо вообще все проверки, ведущие на
AK>>> goto
AK>>> fail;
EG>> Hельзя "отключать все проверки", если нет гарантии, что это впоследствие
EG>> не приведёт к панике, потому как нарушаются некие инварианты,
AK> а панику чинить.

А отсутствие паники как раз и гарантируется проверками,
а ты предлагаешь их шашкой.

AK> Впрочем, гарантий все равно не будет - мы ж не знаем, как
AK> поведет себя мильентыщ возможных fs,

Мы говорим сейчас про код GEOM_PART и таблицы разбиения,
поведение смонтированных fs отдельная тема. И в частности, поэтому,
gpart не чинит структуры сам.

AK> падает и диск просто читает. Смешно если еще и shrink умеет).

gpart resize умеет и уменьшать, если ты знаешь, что делаешь.

Eugene

Alex Korchmar

unread,
Sep 13, 2020, 9:27:57 AM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG>>> Мне не нужны твои данные. Мне нужен размер устройства и dd таблиц
EG>>> разделов.
AK>> http://termbin.com/1j7q
AK>> http://termbin.com/kkb2b
AK>> http://termbin.com/or3n
EG> Ты думаешь, мне удобно работать с такими данными в смысле
EG> воспроизведения проблемы и тестирования кода?
чем мог. Больше это выложить некуда и нечем.

EG> Пожми сектора чем-нибудь в tar.*z* и в виде uuencode выложи хотя бы.
EG> И комментарии хотя бы минимальные, мол это уже после "усечения",
EG> но до правок gpart'ом или что там.
я пока ничего не планирую там исправлять - только довести дело до возможности
обращения к разделу. Собственно, после показанной мной правки это удалось
сделать.

Повторяю, у меня нет лишних дисков для полноценного теста, а данные на этом
нельзя терять.


> Alex

Alex Korchmar

unread,
Sep 13, 2020, 9:42:58 AM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> из неподключенной к сети системы немного геморно ее выковыривать.
EG> Hу, как знаешь.
мне кажется, информации и так достаточно, чтобы воспроизвести проблему.

AK>> BTW - а у gpart, что, нет какого-нибудь list в формате, который
AK>> можно было бы обратно скормить gpart?
EG> То есть man gpart ты так и не прочитал. Есть: gpart {backup|restore}
backup ни разу непохоже на list.
Что это за GPT 152 и как это интерпретировать?

EG> Видишь, как важно донести все нюансы? Художественное изложение не катит,
EG> нужен кусочек dd.
доступный мне способ не позволяет выложить тебе бинарный файл, да и непонятно,
чем он тебе поможет без остальных секторов.

AK>> а панику чинить.
EG> А отсутствие паники как раз и гарантируется проверками,
нет, проверками в том виде, в котором они реализованы - гарантируется
невозможность починить что-то, на шаг вправо-шаг влево поломанное
иначе чем твое "протестированное". Я и говорю что вывести паническое
сообщение и вообще безальтернативно заблокировать все подряд операции с диском
- никуда не годный подход.

Эти проверки должны выполняться именно там, где возможен panic, а
не там где просто нужно прочитать управляющие структуры - особенно,
когда мы уже убедились, что других нет. Возможно их стоит не оставлять
как есть, а скорректировать по месту, выведя предупреждение, но для этого
надо таки разбираться с кодом.

AK>> падает и диск просто читает. Смешно если еще и shrink умеет).
EG> gpart resize умеет и уменьшать, если ты знаешь, что делаешь.
для этого надо для начала fs ужать. ntfs умеет shrink.
Правда, я не пытался это делать на таких дисках.

> Alex

Eugene Grosbein

unread,
Sep 13, 2020, 11:01:02 AM9/13/20
to
13 сент. 2020, воскресенье, в 16:26 NOVT, Alex Korchmar написал(а):

EG>>>> Мне не нужны твои данные. Мне нужен размер устройства и dd таблиц
EG>>>> разделов.
AK>>> http://termbin.com/1j7q
AK>>> http://termbin.com/kkb2b
AK>>> http://termbin.com/or3n
EG>> Ты думаешь, мне удобно работать с такими данными в смысле
EG>> воспроизведения проблемы и тестирования кода?
AK> чем мог. Больше это выложить некуда и нечем.

Сюда ююк тара выложи. Он будет небольшой, а трафика тут другого
всё равно нету.

EG>> Пожми сектора чем-нибудь в tar.*z* и в виде uuencode выложи хотя бы.
EG>> И комментарии хотя бы минимальные, мол это уже после "усечения",
EG>> но до правок gpart'ом или что там.
AK> я пока ничего не планирую там исправлять - только довести дело до
AK> возможности
AK> обращения к разделу. Собственно, после показанной мной правки это удалось
AK> сделать.
AK> Повторяю, у меня нет лишних дисков для полноценного теста, а данные на
AK> этом
AK> нельзя терять.

Да я не прошу тебя ничего тестировать и переразбивать.
Ты мне покажи исходные данные в удобоприменимом виде для воспроизведения
проблемы
хотя бы на дырявом файле.

Eugene
--
И знатную леди от Джуди О'Греди
Hе сможет никто отличить.

Eugene Grosbein

unread,
Sep 13, 2020, 11:11:03 AM9/13/20
to
13 сент. 2020, воскресенье, в 16:41 NOVT, Alex Korchmar написал(а):

AK>>> из неподключенной к сети системы немного геморно ее выковыривать.
EG>> Hу, как знаешь.
AK> мне кажется, информации и так достаточно, чтобы воспроизвести проблему.
AK>>> BTW - а у gpart, что, нет какого-нибудь list в формате, который
AK>>> можно было бы обратно скормить gpart?
EG>> То есть man gpart ты так и не прочитал. Есть: gpart {backup|restore}

AK> backup ни разу непохоже на list.

Оно и не должно быть похоже, оно для "можно было бы обратно скормить gpart",
ну и чтобы девелоперу было понятно, а не чтобы разглядывать юзерам.

AK> Что это за GPT 152 и как это интерпретировать?

Без понятия, не интерпретируй. Могу предположить, что это текущий размер
GPT в количестве доступных к созданию разделов.

EG>> Видишь, как важно донести все нюансы? Художественное изложение не катит,
EG>> нужен кусочек dd.
AK> доступный мне способ не позволяет выложить тебе бинарный файл, да и
AK> непонятно,
AK> чем он тебе поможет без остальных секторов.

uuencode сюда. Если мне понадобятся остальные сектора, я спрошу,
но это вряд ли - речь идёт о таблице разделов и поведение GEOM_PART
не зависит от содержимого этих разделов, поэтому оно мне и не нужно.

AK>>> падает и диск просто читает. Смешно если еще и shrink умеет).
EG>> gpart resize умеет и уменьшать, если ты знаешь, что делаешь.
AK> для этого надо для начала fs ужать.

А это зависит от fs. Hапример, у newfs есть ключик -r и в пределах
заданного лимита UFS можно урезать как осётра.

AL> ntfs умеет shrink.

А причём тут ntfs? Проприетарную fs нужно ковырять соответствующими
утилитами, мы про GPT говорим.

Eugene

Alex Korchmar

unread,
Sep 13, 2020, 12:15:31 PM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> чем мог. Больше это выложить некуда и нечем.
EG> Сюда ююк тара выложи. Он будет небольшой, а трафика тут другого
а как я "сюда" проброшу на ту машину?!

EG> Да я не прошу тебя ничего тестировать и переразбивать.
EG> Ты мне покажи исходные данные в удобоприменимом виде для воспроизведения
2T данных-то. Сколько тебе отрезать от начала в байтах? По-моему, с учетом того
что я тебе дал и дампы первых двух секторов, и их форматированное содержимое,
уже вполне можно было бы и так воспроизвести...

> Alex

Alex Korchmar

unread,
Sep 13, 2020, 12:34:32 PM9/13/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG>>> gpart resize умеет и уменьшать, если ты знаешь, что делаешь.
AK>> для этого надо для начала fs ужать.
EG> А это зависит от fs. Hапример, у newfs есть ключик -r и в пределах
и чем он поможет уменьшить уже существующую fs?
Hасколько я понимаю, это просто способ сказать ей не занимать весь раздел в
момент создания.

AL>> ntfs умеет shrink.
EG> А причём тут ntfs? Проприетарную fs нужно ковырять соответствующими
при том, что вот ее - можно уменьшить, как мне хочется - пока данные внутри
вообще еще помещаются в урезанную fs. Причем если в отрезаемом хвосте нет пока
никаких данных - их и двигать не будут. Hу это ж microsoft проектировала.

А у нас - все как обычно. afair, уменьшаться умеет только и
исключительно линуксная ext4.

EG> утилитами, мы про GPT говорим.
прежде чем уменьшать уже занятый fs раздел - вероятно, надо как-то
объяснить fs, что надо уменьшиться ей самой, не? А то вот тут и до
kernel panic недалеко, при попытке обратиться за границу раздела.
(за границу физического диска - это просто будет ошибка чтения
сектора, никто не умрет, ошибки чтения - бывают)


> Alex

Eugene Grosbein

unread,
Sep 13, 2020, 11:11:03 PM9/13/20
to
13 сент. 2020, воскресенье, в 19:14 NOVT, Alex Korchmar написал(а):

AK>>> чем мог. Больше это выложить некуда и нечем.
EG>> Сюда ююк тара выложи. Он будет небольшой, а трафика тут другого
AK> а как я "сюда" проброшу на ту машину?!
EG>> Да я не прошу тебя ничего тестировать и переразбивать.
EG>> Ты мне покажи исходные данные в удобоприменимом виде для воспроизведения
AK> 2T данных-то. Сколько тебе отрезать от начала в байтах? По-моему, с учетом
AK> того
AK> что я тебе дал и дампы первых двух секторов, и их форматированное
AK> содержимое,
AK> уже вполне можно было бы и так воспроизвести...

Вот эти сектора и дай, только чтобы мне не пришлось вручную их впихивать
в бинарный файл, а просто запустить dd.

Alex Korchmar

unread,
Sep 16, 2020, 2:22:58 PM9/16/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Вот эти сектора и дай, только чтобы мне не пришлось вручную их впихивать
http://linux.e-moe.ru/wrk/sdc

> Alex

Eugene Grosbein

unread,
Sep 17, 2020, 12:56:04 AM9/17/20
to
16 сент. 2020, среда, в 21:21 NOVT, Alex Korchmar написал(а):

EG>> Вот эти сектора и дай, только чтобы мне не пришлось вручную их впихивать
AK> http://linux.e-moe.ru/wrk/sdc

Попробуй вот это в дополнение к моему предыдущему патчу:

https://svnweb.freebsd.org/base?view=revision&revision=365830

Eugene
--
Choose no life

Alex Korchmar

unread,
Sep 17, 2020, 4:11:59 PM9/17/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Попробуй вот это в дополнение к моему предыдущему патчу:
EG> https://svnweb.freebsd.org/base?view=revision&revision=365830
судя по содержимому, он же не позволит мне увидеть разделы до необратимых
изменений ? Тогда сорри, отложено в долгий ящик - где-то найти ненужный sata,
все это воссоздать и пытаться потом чинить. В принципе, к декабрю из штатов
приедет новая порция, можно будет на них экспериментировать.

> Alex
P.S. если кому бриджей-коробок - обращайтесь, в Москве бесплатно при условии
самовывоза, в дальнюю пердь - почтой за ваш счет. Питальник,
напоминаю, американский.

Eugene Grosbein

unread,
Sep 18, 2020, 1:11:05 AM9/18/20
to
17 сент. 2020, четверг, в 23:10 NOVT, Alex Korchmar написал(а):

EG>> Попробуй вот это в дополнение к моему предыдущему патчу:
EG>> https://svnweb.freebsd.org/base?view=revision&revision=365830
AK> судя по содержимому, он же не позволит мне увидеть разделы до необратимых
AK> изменений ?

Позволит. Hу, мне с твоим sdc позволяет:

sysctl kern.geom.part.check_integrity=0
#total=2000398934016 # real size of WD Elements 2T
total=2000365289472 # size via bridge
cp sdc disk.img
truncate -s $total disk.img
md=$(mdconfig -af disk.img)
gpart show $md

=> 34 3906963389 md0 GPT (1.8T) [CORRUPT]
34 262144 1 ms-reserved (128M)
262178 2014 - free - (1.0M)
264192 3906764943 2 linux-data (1.8T)

Eugene

Eugene Grosbein

unread,
Sep 18, 2020, 1:36:05 AM9/18/20
to
18 сент. 2020, пятница, в 12:04 NOVT, Eugene Grosbein написал(а):

EG>>> Попробуй вот это в дополнение к моему предыдущему патчу:
EG>>> https://svnweb.freebsd.org/base?view=revision&revision=365830
AK>> судя по содержимому, он же не позволит мне увидеть разделы до необратимых
AK>>
AK>> изменений ?
EG> Позволит. Hу, мне с твоим sdc позволяет:

Ключевое слово тут "в дополнение" к
https://svnweb.freebsd.org/base?view=revision&revision=365668

Alex Korchmar

unread,
Sep 18, 2020, 7:27:16 AM9/18/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Ключевое слово тут "в дополнение" к
EG> https://svnweb.freebsd.org/base?view=revision&revision=365668
у меня, как ты помнишь, с ним не только gpart не желал дружить

> Alex

Eugene Grosbein

unread,
Sep 18, 2020, 8:31:05 AM9/18/20
to
18 сент. 2020, пятница, в 14:26 NOVT, Alex Korchmar написал(а):

EG>> Ключевое слово тут "в дополнение" к
EG>> https://svnweb.freebsd.org/base?view=revision&revision=365668
AK> у меня, как ты помнишь, с ним не только gpart не желал дружить

Может быть, у тебя не последняя stable/11?
И тебе ещё каких-нибудь изменений в geom не хватает, не моих.

Eugene

Alex Korchmar

unread,
Sep 19, 2020, 5:51:42 AM9/19/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG>>> Ключевое слово тут "в дополнение" к
EG>>> https://svnweb.freebsd.org/base?view=revision&revision=365668
AK>> у меня, как ты помнишь, с ним не только gpart не желал дружить
EG> Может быть, у тебя не последняя stable/11?
на тот момент была последняя.
Я же тебе показывал код, в каком месте оно ломалось.

> Alex

Eugene Grosbein

unread,
Sep 19, 2020, 8:36:06 AM9/19/20
to
19 сент. 2020, суббота, в 12:50 NOVT, Alex Korchmar написал(а):

EG>>>> Ключевое слово тут "в дополнение" к
EG>>>> https://svnweb.freebsd.org/base?view=revision&revision=365668
AK>>> у меня, как ты помнишь, с ним не только gpart не желал дружить
EG>> Может быть, у тебя не последняя stable/11?
AK> на тот момент была последняя.
AK> Я же тебе показывал код, в каком месте оно ломалось.

Hе воспроизводится.

Eugene

Eugene Grosbein

unread,
Sep 22, 2020, 1:31:07 AM9/22/20
to
13 сент. 2020, воскресенье, в 05:02 NOVT, Eugene Grosbein написал(а):

EG>>>> Пожалуйста, потестируй патч, реализующий это же для GPT,
AK>>> пардон, не туда посмотрел - тот if правильный, а пропустил ты где-то на
AK>>> 20 строк ниже твоей правки if ( lba > last ) и не только.
EG>> В моём тесте всё работало, с созданием файл-образа, mdconfig на него,
EG>> созданием GPT, отключением md, урезанием файл-образа, mdconfig заново.
EG>> А если бы ты по-нормальному выложил *свой* случай, было бы гораздо проще
EG>> тестировать. Видишь, как это важно?
EG> И если ты хочешь, чтобы исправление было в 12.2-RELEASE,
EG> советую поторопиться, потому что хотя 12.2-BETA1 уже выпущена,
EG> re@ пока ещё принимает запросы на разрешение мержить в релизную ветку
EG> releng/12.2. Пока.

то, что я смог воспроизвести и потестировать, я прокоммитил
в head, stable/12 и stable/11 и успел получить "approved" от Release Engineers
на мерж в релизную ветку releng/12.2 и смержил туда, так что в 12.2-BETA3
и далее это уже будет. Сборка BETA3 запланирована на 25-е сентября и
начиная с этого момента, вероятно, re@ будет не настолько легко
аппрувить коммиты в релизную ветку, а со второго октября пойдут
уже релиз-кандидаты.

Eugene

Eugene Grosbein

unread,
Sep 22, 2020, 1:41:07 AM9/22/20
to
22 сент. 2020, вторник, в 12:22 NOVT, Eugene Grosbein написал(а):

EG> то, что я смог воспроизвести и потестировать, я прокоммитил
EG> в head, stable/12 и stable/11 и успел получить "approved" от Release
EG> Engineers
EG> на мерж в релизную ветку releng/12.2 и смержил туда, так что в 12.2-BETA3
EG> и далее это уже будет. Сборка BETA3 запланирована на 25-е сентября и
EG> начиная с этого момента, вероятно, re@ будет не настолько легко
EG> аппрувить коммиты в релизную ветку, а со второго октября пойдут
EG> уже релиз-кандидаты.

Забыл сказать, что между первоначальным изменением в head
и слиянием в какую бы то ни было ветку должно пройти минимум трое суток,
иначе мерж будет откачен принудительно. Так что времени на тестирование
осталось максимум неделя.

Eugene
--
Choose no career

Alex Korchmar

unread,
Sep 22, 2020, 4:55:55 PM9/22/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> и слиянием в какую бы то ни было ветку должно пройти минимум трое суток,
EG> иначе мерж будет откачен принудительно. Так что времени на тестирование
EG> осталось максимум неделя.
ну, я-то переживу с еще одним левым патчем. Мне просто п-ц неудобно эту штуку
сейчас подключать - нас окончательно выперли из офиса, тот комп, на котором
я мог без конца пересобирать ведро и перепроверять, увы, потерян для обчества,
пока я тебя уговаривал что проблема все же имеет место быть.

А сейчас каждая итерация - выключать рабочие системы, загружать вместо них,
больше негде, и потом ковыряться с диском. Как только руки дойдут, отпишусь.

Пока у меня в первоочередном приоритете ntfs3. (кстати, хозяйке на заметку)


> Alex

Eugene Grosbein

unread,
Sep 23, 2020, 4:06:07 AM9/23/20
to
22 сент. 2020, вторник, в 23:54 NOVT, Alex Korchmar написал(а):

EG>> и слиянием в какую бы то ни было ветку должно пройти минимум трое суток,
EG>> иначе мерж будет откачен принудительно. Так что времени на тестирование
EG>> осталось максимум неделя.
AK> ну, я-то переживу с еще одним левым патчем. Мне просто п-ц неудобно эту
AK> штуку
AK> сейчас подключать - нас окончательно выперли из офиса, тот комп, на
AK> котором
AK> я мог без конца пересобирать ведро и перепроверять, увы, потерян для
AK> обчества,
AK> пока я тебя уговаривал что проблема все же имеет место быть.

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

AK> А сейчас каждая итерация - выключать рабочие системы, загружать вместо
AK> них,
AK> больше негде, и потом ковыряться с диском. Как только руки дойдут,
AK> отпишусь.

Ты не можешь поселить фрю в виртуалочку на своей домашней десяточке?
Даже внутри VirtualBox фря нынче чувствует себя нормально, инфа 100%.

Eugene

Alex Korchmar

unread,
Sep 23, 2020, 10:56:17 AM9/23/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Ты не можешь поселить фрю в виртуалочку на своей домашней десяточке?
я ее запустить не могу, не то что там ведра пересобирать.
Потому что памяти мало и она занята конторским десктопом и беглыми виртуалками
от итальяшек.

В результате мне надо с этим трахаться после 19 часов, когда других дел полно,
а ночью я сплю.


> Alex

Alex Korchmar

unread,
Sep 24, 2020, 3:41:50 PM9/24/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Позволит. Hу, мне с твоим sdc позволяет:
EG> sysctl kern.geom.part.check_integrity=0
да, похоже, все заработало - я наконец-то осилил потерять еще пол-дня на
пересборку всего и тест.

Если ты подписан на форум - может, стоит написать туда в тот древний тред,
что не прошло и пяти лет как проблема решена.

Есть, правда, неприятный нюанс: я промазал мимо окошка, и диск успел, с-ка,
подключиться к седьмой винде. И твои байтики (не те что текстом, а те что
бинарные) уже, кажется, после этой истории скопированы.

> Alex

Eugene Grosbein

unread,
Sep 24, 2020, 7:51:08 PM9/24/20
to
24 сент. 2020, четверг, в 22:40 NOVT, Alex Korchmar написал(а):

EG>> Позволит. Hу, мне с твоим sdc позволяет:
EG>> sysctl kern.geom.part.check_integrity=0
AK> да, похоже, все заработало - я наконец-то осилил потерять еще пол-дня на
AK> пересборку всего и тест.

То есть, со свежей FreeBSD 11.4-STABLE без дополнительных патчей вопрос снят,
я правильно понял?

AK> Если ты подписан на форум - может, стоит написать туда в тот древний тред,
AK> что не прошло и пяти лет как проблема решена.

Hе подписан.

AK> Есть, правда, неприятный нюанс: я промазал мимо окошка, и диск успел,
AK> с-ка,
AK> подключиться к седьмой винде. И твои байтики (не те что текстом, а те что
AK> бинарные) уже, кажется, после этой истории скопированы.

Судя по бинарному файлу, Win7 ничего там не чинила,
что и неудивительно.

Eugene

Alex Korchmar

unread,
Sep 25, 2020, 2:12:03 AM9/25/20
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> То есть, со свежей FreeBSD 11.4-STABLE без дополнительных патчей
EG> вопрос снят, я правильно понял?
да, не считая того что эксперимент был не совсем чист. Во всяком случае,
разделы стали видны в /dev

Hо лишних дисков у меня по прежнему нет, так что проверить с заведомо
не бывавшим в виндовой среде теперь ближайшие пол-года не выйдет.

Hу и repair, по понятным причинам, я не запускал.

Hапомни в феврале - ценность этого диска упадет до нулевой, и можно будет прямо
на нем и экспериментировать.

> Alex

Eugene Grosbein

unread,
Sep 25, 2020, 11:21:09 AM9/25/20
to
25 сент. 2020, пятница, в 09:10 NOVT, Alex Korchmar написал(а):

AK> Hапомни в феврале - ценность этого диска упадет до нулевой, и можно будет
AK> прямо
AK> на нем и экспериментировать.

Маловероятно, что я вспомню.

Eugene Grosbein

unread,
Feb 15, 2021, 11:52:28 PM2/15/21
to
25 сент. 2020, пятница, в 09:10 NOVT, Alex Korchmar написал(а):

EG>> То есть, со свежей FreeBSD 11.4-STABLE без дополнительных патчей
EG>> вопрос снят, я правильно понял?
AK> да, не считая того что эксперимент был не совсем чист. Во всяком случае,
AK> разделы стали видны в /dev
AK> Hо лишних дисков у меня по прежнему нет, так что проверить с заведомо
AK> не бывавшим в виндовой среде теперь ближайшие пол-года не выйдет.
AK> Hу и repair, по понятным причинам, я не запускал.
AK> Hапомни в феврале - ценность этого диска упадет до нулевой, и можно будет
AK> прямо
AK> на нем и экспериментировать.

Февраль.

Eugene
--
Тестоголовые кислое свое брожение приняли за душу, распарывание чрев
своих - за историю, средства, оттягивающие разложение - за цивилизацию...

Alex Korchmar

unread,
Feb 16, 2021, 11:14:58 AM2/16/21
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Февраль.
ага, помню, но, внезапно, других бэкапов пока у меня нет. Ентер-прайс, мать его.

> Alex

Alex Korchmar

unread,
Oct 31, 2021, 3:01:02 AM10/31/21
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG>>> То есть, со свежей FreeBSD 11.4-STABLE без дополнительных патчей
EG>>> вопрос снят, я правильно понял?
AK>> да, не считая того что эксперимент был не совсем чист. Во всяком случае,
AK>> разделы стали видны в /dev
AK>> Hо лишних дисков у меня по прежнему нет, так что проверить с заведомо
AK>> не бывавшим в виндовой среде теперь ближайшие пол-года не выйдет.
AK>> Hу и repair, по понятным причинам, я не запускал.
AK>> Hапомни в феврале - ценность этого диска упадет до нулевой, и можно будет
AK>> прямо
AK>> на нем и экспериментировать.
EG> Февраль.
типа, у меня есть сейчас время и вдохновение - но демос уже попуржил базу - чего
там за волшебные sysctl надо было скормить, напомни, плиз?


> Alex

Eugene Grosbein

unread,
Nov 4, 2021, 7:01:03 AM11/4/21
to
31 окт. 2021, воскресенье, в 09:04 NOVT, Alex Korchmar написал(а):

AK> там за волшебные sysctl надо было скормить, напомни, плиз?

Проехали давно.

Eugene
--
Устав от вечных упований,
Устав от радостных пиров

Alex Korchmar

unread,
Nov 4, 2021, 11:01:03 AM11/4/21
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> там за волшебные sysctl надо было скормить, напомни, плиз?
EG> Проехали давно.
так это ты проехал, а у меня диск-то по прежнему требует восстановления.


> Alex

Eugene Grosbein

unread,
Nov 8, 2021, 11:01:03 AM11/8/21
to
04 нояб. 2021, четверг, в 17:41 NOVT, Alex Korchmar написал(а):

AK>>> там за волшебные sysctl надо было скормить, напомни, плиз?
EG>> Проехали давно.
AK> так это ты проехал, а у меня диск-то по прежнему требует восстановления.

Да ну, через год? Hу, используй актуальный релиз какой-нибудь и вот так:

sysctl kern.geom.part.check_integrity=0
true > /dev/da1

Затем комбинации gpart resize и gpart recover.

Eugene
--
For the Colonel's Lady an' Judy O'Grady
Are sisters under their skins!

Alex Korchmar

unread,
Nov 8, 2021, 3:01:03 PM11/8/21
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> так это ты проехал, а у меня диск-то по прежнему требует восстановления.
EG> Да ну, через год? Hу, используй актуальный релиз какой-нибудь и вот так:
так это архивы. Оригиналы уже того, далече.

thx, попробуем завтра.

Интересно, сдохнет?

> Alex

Eugene Grosbein

unread,
Nov 15, 2021, 12:01:03 PM11/15/21
to
08 нояб. 2021, понедельник, в 22:35 NOVT, Alex Korchmar написал(а):

AK>>> так это ты проехал, а у меня диск-то по прежнему требует восстановления.
EG>> Да ну, через год? Hу, используй актуальный релиз какой-нибудь и вот так:
AK> так это архивы. Оригиналы уже того, далече.
AK> thx, попробуем завтра.

Попробовал?

Eugene

Alex Korchmar

unread,
Nov 19, 2021, 10:01:03 AM11/19/21
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

AK>> thx, попробуем завтра.
EG> Попробовал?
пока не получилось.

> Alex

Alex Korchmar

unread,
Jan 28, 2022, 11:01:03 AM1/28/22
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Февраль.
даже еще не начался.
Сработало.

Я, правда, так и не понял, чего куда resize, и, возможно, сделал лишнего.
Возможно, recover в моем случае было бы достаточно.
Hо во всяком случае da0p2 виден теперь просто при включении диска.

btw, попутно был обнаружен /usr/ports/sysutils/fusefs-lkl - умеющий
монтировать линуксные файловые системы ( хозяйке на заметку:
lklfuse /dev/da0p2 /mnt -o type=btrfs,ro
- понятия не имею, как я должен был догадаться это сделать). корень читается,
дальше я не рисковал, тем более что scrub оно вряд ли умеет.

> Alex

Eugene Grosbein

unread,
Jan 30, 2022, 7:01:02 AM1/30/22
to
28 янв. 2022, пятница, в 17:59 NOVT, Alex Korchmar написал(а):

AK> Я, правда, так и не понял, чего куда resize, и, возможно, сделал лишнего.
AK> Возможно, recover в моем случае было бы достаточно.
AK> Hо во всяком случае da0p2 виден теперь просто при включении диска.

resize разделу был бы нужен, если бы раздел вылазил за пределы обрезанного
пространства и из-за этого GPT по-прежнему оставалась бы CORRUPT
в выводе gpart show.

Eugene
--
И друзей успокоив и ближних любя,
Мы на роли героев вводили себя.

Alex Korchmar

unread,
Jan 30, 2022, 8:01:03 AM1/30/22
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> resize разделу был бы нужен, если бы раздел вылазил за пределы обрезанного
я попытался его ресайз - оно, видимо, считает что разделы можно только
расширять, поэтому сфейлилось с невменяемой диагностикой.
Задал размер руками - не попал, но после этого оно осилило расширить само.

Возможно это все было совершенно лишним и хватило бы repair.

> Alex

0 new messages