[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