<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 16 июн. 2020 г. в 19:05, Alexey Gladkov &lt;<a href="mailto:legion@altlinux.ru" target="_blank">legion@altlinux.ru</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Jun 16, 2020 at 06:03:52PM +0300, Игорь Андросов wrote:<br>
&gt; вт, 16 июн. 2020 г. в 15:30, Alexey Gladkov &lt;<a href="mailto:legion@altlinux.ru" target="_blank">legion@altlinux.ru</a>&gt;:<br>
&gt; <br>
&gt; &gt; On Tue, Jun 16, 2020 at 12:39:14PM +0300, Игорь Андросов wrote:<br>
&gt; &gt; &gt; &gt; Вы всё правильно поняли.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; # findmnt -n -o MAJ:MIN,FSTYPE,SOURCE --target /<br>
&gt; &gt; &gt; &gt; &gt;   0:24  btrfs  /dev/sda2<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Вот тут очень интересно откуда такой major взялся. Попробую<br>
&gt; &gt; разобраться,<br>
&gt; &gt; &gt; &gt; хотя у меня нигде такого не было.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; Ну, как предположение, btrfs может быть из нескольких дисков(кроме того<br>
&gt; &gt; еще<br>
&gt; &gt; &gt; субтома, снапшоты и тд которые могут выступать как точки монтирования) и<br>
&gt; &gt; &gt; это какое-то виртуальное устройство а не прямая связь с физ устройством?<br>
&gt; &gt;<br>
&gt; &gt; Нет. Устройство чего бы под ним не было должно быть устройством.<br>
&gt; &gt; Можете показать вывод следующей команды ?<br>
&gt; &gt;<br>
&gt; <br>
&gt; Эм... Может я неверно выразился, но:<br>
&gt; kernel/Documentation/admin-guide/devices.txt<br>
&gt; --<br>
&gt;    0 Unnamed devices (e.g. non-device mounts)<br>
&gt;   0 = reserved as null device number<br>
&gt; See block major 144, 145, 146 for expansion areas.<br>
&gt; -- cut --<br>
&gt; <br>
&gt; btrfs это файловая система, она вроде как не устройство, она может быть<br>
&gt; собрана из н-цати &quot;устройств&quot;, разделов дисков и тд. и сказать кто в нее<br>
&gt; входит может только она.<br>
<br>
Это не так. Обратите внимание, что показала утилита stat. Это те же major<br>
и minor устройства.<br></blockquote><div>Эм, мы у него и попросили их, указав конкретный, существующий device.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Тут скорее findmnt запутался из-за того что запрос информации об<br>
устройстве был по точке монтирования и выдал чушь. На моих тестах он вёл<br>
себя корректно.<br></blockquote><div>findmnt по умолчанию берет данные из /proc/self/mountinfo, там тот же major = 0, и эту информацию дает ядро:</div><div><br></div><div>Я еще раз поясню свою мысль на примере (пример извращенный но возможный):</div><div>btrfs = (sda1, sdb, nvme1) то есть она собрана из нескольких физ устройств, режим single то есть размер файловой система - весь суммарный объем устройств </div><div>для того что бы btrfs &quot;собралась&quot; должны быть доступны все устройства, если драйвера для того или иного устройства не будет/не будет устройства и fs &quot;не соберется&quot;, если на этой fs расположен корень - мы не можем загрузиться.</div><div>Не через btrfs я не знаю способ как можно посмотреть какие устройства для нее нужны, везде я вижу только одно устройство (подозреваю первое по алфавиту найденное по uuid? у остальных uuid тайкой же). через команду &quot;btrfs filesystem show /&quot; я вижу что в составе этой fs 3 устройства.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
&gt; Соответственно и возникает устройство с Major 0,<br>
&gt; так монтируем не конкретное устройство, а некую точку из того что есть в<br>
&gt; btrfs, имхо схоже с nfs,proc,sys и подобными.<br>
<br>
В случае виртуальной файловой системы major и minor не имеет смысла.<br>
<br>
Я переделаю способ получения этой информации о точке монтирования.<br></blockquote><div>Мое мнение: для того чтобы обеспечить загрузку с корнем на btrfs нужно знать какие устройства в нее входят, и соответственно включать в initrd драйвера необходимые для каждого. В моем случае btrfs состоит из одного device, была у меня конфигурация где было 5 дисков, на 2 разных sata контроллерах, благо не корень ) Возможность на лету добавить устройство в btrfs и убрать позволяет создать корень на любой вариации аппаратных, и не только, носителей...</div><div></div><div> </div><div>Прошу прощения за разведенную дискуссию.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Спасибо.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
-- <br>
Rgrds, legion<br>
<br>
_______________________________________________<br>
Sisyphus mailing list<br>
<a href="mailto:Sisyphus@lists.altlinux.org" target="_blank">Sisyphus@lists.altlinux.org</a><br>
<a href="https://lists.altlinux.org/mailman/listinfo/sisyphus" rel="noreferrer" target="_blank">https://lists.altlinux.org/mailman/listinfo/sisyphus</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div>С уважением Игорь.<br></div></div></div></div></div></div>