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

Alexey Morozov =?iso-8859-1?q?morozov_=CE=C1_novosoft=2Eru?=
Пт Июл 25 11:09:53 MSD 2003


В сообщении от Четверг 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