Страница 1 из 1

Проблема с флэшками. program parted is using a deprecated ..

Добавлено: 04 май 2006, 23:14
kif0rt
При подключении любой флэшки , кроме стандартных сообщений , dmesg выдал :

Код: Выделить всё

program parted is using a deprecated SCSI ioctl, please convert  it to SG_IO
всё бы ничего, да вот только работают флэшкт отвратно .. скорость ОЧЕНЬ маленькая и даше подвисало "копирование" один раз.

Google ответа не дал. Такая "фича" проявилась,видимо, после update'а моего Ubuntu 5.10. Апдейт делал из официальных репозиториев. Сам parted не обновлялся. Но обновлялось,кроме всего прочего, и ядро. Точнее она как было 2.6.12 так и им и осталось, а вот ревизия сменилась (было 2.6.12-10.24 , стало 2.6.12-10.30). Вообщем как мне сделать этот convert SCSI ioctl to SG_IO ?

Добавлено: 05 май 2006, 01:13
Llama
kif0rt, а флэка часом не в sync монтируется?

Добавлено: 05 май 2006, 08:26
kif0rt
Llama писал(а):kif0rt, а флэка часом не в sync монтируется?
Хм... не помню. приду домой - посмотрю. но не должна. я ж ничего не менял, это после апдейта вроде случилась.. но я проверю

Добавлено: 05 май 2006, 09:02
Llama
kif0rt, мне вообще интересно, с какого перепугу для флэшки используется parted - цель использования сабжа непонятна ;)

Добавлено: 05 май 2006, 10:30
kif0rt
kif0rt, мне вообще интересно, с какого перепугу для флэшки используется parted - цель использования сабжа непонятна ;)
Вот вот ... но против dmesg'а не попрёшь.... ;) Наверное что-то убунтовцы напортачили. Вышли апдейты для ядра новые. Сегодня поставлю - может исправили багу.

Добавлено: 05 май 2006, 13:17
Foxx
Llama, parted мог быть случайно вызван хотплагом каким-нибудь... для инициации таблицы разделов драйва, скажем
вывод: либо откатить ядро, либо обновить parted до версии, поддерживающей не-deprecated api
а ну либо все таки докопаться до первопричин вызова этого партеда и поправить их

Добавлено: 05 май 2006, 14:23
kif0rt
ещё более обновил ядро из секьюрити апдейтов убунту, но проблема осталась .. попробуй parted стянуть с dapper drake ..

Добавлено: 05 май 2006, 17:03
Llama
я бы предложил более радикальный вариант - удалить parted

Добавлено: 05 май 2006, 17:16
Foxx
всё бы ничего, да вот только работают флэшкт отвратно .. скорость ОЧЕНЬ маленькая и даше подвисало "копирование" один раз.
не думаю, что удаление партеда или прочие операции с ним положительно повлияют на работу девайса. имхо дело в ядре и его мостах от deprecated вызовов на поправленные в ревизии. попробовать взять scsi-мост от старого ядра, вставить в новое и подпилить-пересобрать?

Добавлено: 05 май 2006, 17:28
kif0rt
не думаю, что удаление партеда или прочие операции с ним положительно повлияют на работу девайса. имхо дело в ядре и его мостах от deprecated вызовов на поправленные в ревизии. попробовать взять scsi-мост от старого ядра, вставить в новое и подпилить-пересобрать?
Ты совершенно прав ! дело в ядре. бактрак parted мне это подсказал :

Код: Выделить всё

This seems to originate from the following kernel code in
drivers/scsi/scsi_ioctl.c
        /* Check for deprecated ioctls ... all the ioctls which don't
         * follow the new unique numbering scheme are deprecated */
        switch (cmd) {
        case SCSI_IOCTL_SEND_COMMAND:
        case SCSI_IOCTL_TEST_UNIT_READY:
        case SCSI_IOCTL_BENCHMARK_COMMAND:
        case SCSI_IOCTL_SYNC:
        case SCSI_IOCTL_START_UNIT:
        case SCSI_IOCTL_STOP_UNIT:
                printk(KERN_WARNING "program %s is using a deprecated SCSI "
                       "ioctl, please convert it to SG_IO\n", current->comm);

+какой-то ред хатовский багтрак :

Код: Выделить всё

The non unique SCSI ioctls:

SCSI_IOCTL_SEND_COMMAND
SCSI_IOCTL_TEST_UNIT_READY
SCSI_IOCTL_BENCHMARK_COMMAND
SCSI_IOCTL_SYNC
SCSI_IOCTL_START_UNIT
SCSI_IOCTL_STOP_UNIT

Have been deprecated for a while now.  We should make the kernel
complain when a program actually uses one of them, so users have had
adequate warning before they are removed.
Вообщем надо что-то делать с ядром. Не пойму одного - на более старой ревизии ядра всё работало, а но более новой deprecated ...

Добавлено: 05 май 2006, 17:41
kif0rt
вот так облом. откатил ядро назад, а всё равно дрянь эта выскакивает.

Добавлено: 07 май 2006, 19:24
kif0rt
вскрытие показало, что это мой локальный баг и баг parted в частности. Я пользуюсь скриптом hdmount, о котором уже писал на этом форуме. Так вот этот скрипт для определения таблицы разделов использует parted(которая есть везде), если не установлена более подходящая и быстрая disktype. Я про это забыл ... Установил disktype и всё нормально. НО до этого я поэксперементировал : обновился до последнего ядра (2.6.16+патч archck) - проблема осталась. Cобрал последний parted - проблема осталась. Вывод : даже на новых ядрах последний parted почему-то использует obsolete ...

Добавлено: 22 май 2006, 18:15
avb
потому что parted есть маздай. Перепиши скрипт на использование fdisk -l, если его информации достаточно.

Добавлено: 22 май 2006, 21:33
Llama
avb, дак disktype там нативно подерживается, как я понял ;)