[sisyphus] Re: Про devfs, SCSI и не только

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Ср Июл 30 09:33:25 MSD 2003


Alexey Morozov пишет:
> В сообщении от Четверг 24 Июль 2003 00:41 Andrey Borzenkov написал(a):
> 
>>On Wednesday 23 July 2003 11:28, Alexey Morozov wrote:
>>
>>>А что у нас с devfs'ом делается? В смысле, какова политика партии в 2.6
>>>ядре, и почему бы нам не использовать его в std-up ядре?
>>
>>devfs входит в 2.6, по прежнему имеет статус EXPERIMENTAL и патриархи по
>>прежнему вздыхают о ее замене но пока ее (замены) что-то не видать.
> 
> А что, все так плохо? А кто такой sysfs?
> 
> 
>>Внутри devfs была довольно существенно урезана (я бы сказал -
>>кастрирована), часть функциональности потерялась. Но в принципе я работаю
>>на 2.6 с devfs не первый месяц и особых проблем (больше, чем в 2.4 :) не
>>наблюдаю.
> 
> Понятно.
> 
> 
>>задача неразрешима в 2.4 принципиально, в 2.6 на сегодняшний момент
>>отсутствует (AFAIK) ее решение и devfs тут абсолютно не при чем.
> 
> В качестве локального решения существует (для 2.4, по крайней мере) патч на 
> sd_mod (создающий /proc/scsi/scsi_sd с требуемым маппингом) и таки devfs, 
> когда, определив SCSI-адрес вставленного устройства мы лезем к 
> соответствующему дивайсу по адресу /dev/scsi/hostN/busN/.../disc. 
> Ограниченно, конечно, но для данной задачи работает.
> 
> 
>>В Linux до сих пор нет возможности определить постоянные логические адреса
>>устройствам. Кто знает Solaris - если взять /etc/path_to_inst + devlinks
>>убрать все те подводные камни которые там есть, то это примерно то, чего не
>>хватает. Devfs только дает фиксированные адреса относительно контроллера -
>>но вот адресация самих контроллеров только динамическая.
> 
> Понятно.
> 
> 
> 
>>В отдельных случаях (для SCSI, если есть строго по одному контроллеру
>>данного типа) это решается с помощью scsi_hosts но в 2.6 поддержку этого
>>параметра выкинули.
> 
> 
>>ide-scsi эмулирует один HBA и все устройства получают SCSI ID, причем опять
>>повлиять на них невозможно (год назад я сделал патч который присваивал ID в
>>соответствии с IDE нумерацией, после IDE update он более не работал и у
>>меня не было стимула заниматься им). Что касается LUN - я не встречал IDE
>>устройства с несколькими LUNами хотя протокол позволяет.
> 
> Угу, спасибо, понял.
> 
> 
>>Какая разница, как их нумеровать, если гарантируется, что после каждой
>>перезагрузки устройства получают те же самые номера.
> 
> :-). Только пока мы не напарываемся на hot-pluggable устройства. У тех - "кто 
> раньше встал, того и тапки".
> 
> 
>>>P.S. а означенный hotmount, вроде, приближается к состоянию "works for
>>>me". Если кому интересно, могу, после того, как выйду из отпуска,
>>>попробовать отдать на растерзание. Правда, поскольку "традиционное"
>>>монтирование мне не очень интересно ввиду использования supermount'а на
>>>флэшках, то, поначалу, видимо, какие-то части, вероятно, придется
>>>дописывать самим :-). Ну, или, по крайней мере, подробно рассказывать
>>>мне, чего хочется :-).
>>
>>А вы не смотрели udev? Насколько я понимаю, он делает то-же самое - или
>>нет?
> 
> Ну, сейчас нашел аннонс в lklm, прочитал, поглядел на код. Да, наверное, 
> некоторое пересечение в функциональности есть. Однако, задача привязки 
> вставленного [USB]-устройства к block-дивайсу для меня, скорее, промежуточная 
> (и она вполне может в будущем решаться через udev). Я же хочу (в конечном 
> итоге), чтобы вставленное устройство автоматически /становилось доступным/ по 
> заранее известному адресу, и, соответственно, пользователь (моя супруга :-)) 
> получала бы возможность простого доступа к данным, где-то в духе Windows XP 
> (с появляющейся иконкой в Notification Area итд)
> 
> Плюс к тому, то, что я наваял - предельно просто. Собственно, функциональность 
> про сопоставлению USB-storage и /dev/sdN или /dev/scsi/hostN/busN.../disc - 
> ~200-220 строчек pure bash-скрипта, даже без awk'а :-). Ну, и работает оно на 
> стандартном (или почти стандартном) 2.4 ядре. Сейчас причешу функциональность 
> по монтированию/размонтированию (а тут, видимо, придется таки воспользоваться 
> внешними программами, типа parted'а), добавлю post-агентов, которые бы делали 
> всякие глупости, типа той же нотификации, и буду использовать :-). Вот 
> только,  может, еще поддержку subfs приделаю, чтобы, типа, поуниверсальнее 
> было.

Может быть все-таки сначала стоит воспользоваться тем, что реализовано? 
А именно - обновить систему до последнего sisyphus и вставить flash 
диск. В случае с KDE - говорят даже иконка на рабочем столе появляется ;-)

В остальных же случаях - mount /mnt/flash

Ну а размонтируется она сама, при вынимании flash'ки из USB... автоматом.

Сделано это так: hotplug стартует updfstab из kudzu, который для 
различного рода устройств может делать различного рода маунтпойнты и 
записи в fstab вносить... Антон Качалов довел его до рабочего состояния 
(с моей помощью небольшой), ну и се	йчас все это функционирует просто на 
"Ура".

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

Rgds,
Rider
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 252 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20030730/a53ca04e/attachment-0010.bin>


Подробная информация о списке рассылки Sisyphus