On Wed, Mar 05, 2008 at 08:43:24AM +0300, Anton Farygin wrote: > Dmitry V. Levin пишет: > >On Tue, Mar 04, 2008 at 06:49:45PM +0300, Anton Farygin wrote: > >>Dmitry V. Levin пишет: > >>>On Tue, Mar 04, 2008 at 03:40:52PM +0300, Sergey Vlasov wrote: > >>>>On Tue, Mar 04, 2008 at 03:24:37PM +0300, Dmitry V. Levin wrote: > >> > >>>>>Можно пояснить, что именно исправляет это изменение? > >>>>Если модуль dm-mod в этот момент уже был загружен (например, из > >>>>initrd), и при этом udevd был запущен из rc.sysinit (RUN_UDEV=1), в > >>>>результате выполнения этого кода файл устройства /dev/mapper/control > >>>>удалялся, что приводило к ошибкам при последующем запуске lvm. > >>>>Конечно, имеющаяся запись changelog никуда не годится - MD не имеет > >>>>никакого отношения к данной проблеме. > >>>> > >>>>В новом варианте, правда, всё равно остаётся race - в случае > >>>>RUN_UDEV=1 файл устройства должен создавать udevd, но ожидание его > >>>>создания не производится. > >>>А каким образом лучше ждать появления этого файла? > >>я бы предложил использовать для этого inotify. Но если не очень хочется > >>затачиваться на относительно новый инструмент, то можно просто написать > >>цикл. > > > >Вопрос был не в этом. Как долго имеет смысл ждать появления этого файла? > >Возможно, есть какое-то событие, по наступлении которого ждать больше не > >имеет смысла? Вы же не хотите зависания rc.sysinit при некотором стечении > >обстоятельств? > > А разве /dev/mapper/control может не появиться, если загружен модуль > dm-mod ? Ты процитированный код видел? загруженный модуль dm-mod не создаёт /dev/mapper/control, этот файл создаёт userspace. -- ldv