🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux
8 messages
8 total messages Started by szopen Thu, 08 Jun 2023 11:34
diwajsy blokowe
#907174
Author: szopen
Date: Thu, 08 Jun 2023 11:34
42 lines
1613 bytes
Chciałem sobie wyświetlić wszystkie urządzenia blokowe, więc użyłem 
lsblk, ale mam masę wolumenów snapowych, które pracują na urządzeniach 
loop, więc, żeby je pominąć w lsblk trzeba dodać --exclude i numer major 
urządzenia. Wygooglałem, że dla loopa to 7. Ale to mnie zaciekawiło i 
wyświetliłem listę tych numerów urządzeń:

cat /proc/devices
Character devices:
1 mem

[...]

Block devices:
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
259 blkext

i mam pytanie. Loop jest rzeczywiście 7, ale co to za urządzenia sd od 
65 do 135?

-- 
szopen
Re: diwajsy blokowe
#907172
Author: Kamil Jońca
Date: Thu, 08 Jun 2023 12:27
29 lines
1914 bytes
szopen <szop@en.szop> writes:

> Chciałem sobie wyświetlić wszystkie urządzenia blokowe, więc użyłem
> lsblk, ale mam masę wolumenów snapowych, które pracują na urządzeniach
> loop, więc, żeby je pominąć w lsblk trzeba dodać --exclude i numer
> major urządzenia. Wygooglałem, że dla loopa to 7. Ale to mnie
> zaciekawiło i wyświetliłem listę tych numerów urządzeń:
>
> cat /proc/devices
> Character devices:
> 1 mem
>
> [...]
>

>
> i mam pytanie. Loop jest rzeczywiście 7, ale co to za urządzenia sd od
> 65 do 135?
https://duckduckgo.com/?t=ffab&q=linux+major+device+numbers&ia=web
pierwszy link to
https://unix.stackexchange.com/questions/73988/linux-major-and-minor-device-numbers
a tam z kolei
https://www.kernel.org/doc/Documentation/admin-guide/devices.txt

Nie ma tam?
KJ

-- 
http://stopstopnop.pl/stop_stopnop.pl_o_nas.html
Re: diwajsy blokowe
#907175
Author: szopen
Date: Fri, 09 Jun 2023 05:42
17 lines
1573 bytes
On 8.06.2023 14:27, Kamil Jońca wrote:
>> i mam pytanie. Loop jest rzeczywiście 7, ale co to za urządzenia sd od
>> 65 do 135?
> https://duckduckgo.com/?t=ffab&q=linux+major+device+numbers&ia=web
> pierwszy link to
> https://unix.stackexchange.com/questions/73988/linux-major-and-minor-device-numbers
> a tam z kolei
> https://www.kernel.org/doc/Documentation/admin-guide/devices.txt
> 
> Nie ma tam?
> KJ

Z tego co zrozumiałem wynika, że to zarówno dyski (ssd, hdd, nvme) jak i 
partycje na nich. Liczbowo się zgadza, thx.

-- 
szopen
Re: diwajsy blokowe
#907176
Author: marrgol
Date: Fri, 09 Jun 2023 10:58
24 lines
2226 bytes
On 09/06/2023 at 07.42, szopen wrote:
>>> i mam pytanie. Loop jest rzeczywiście 7, ale co to za urządzenia sd od
>>> 65 do 135?
> 
> Z tego co zrozumiałem wynika, że to zarówno dyski (ssd, hdd, nvme) jak i
> partycje na nich. Liczbowo się zgadza, thx.

Mam wrażenie, że chyba coś źle zrozumiałeś, a liczbowo zgadza ci się
co najwyżej  przypadkiem.  /proc/devices pokazuje 'major numbers'
plików urządzeń przypisanych poszczególnym, uruchomionym w jądrze
sterownikom, a nie urządzenia fizycznie obecne w komputerze.  8, 65÷71
i 128÷135 to numery przypisane sterownikowi sd (jest ich 16 i każdy
„obsługuje” 16 'minor', co znaczy że _możesz_ mieć w komputerze do 256
fizycznych dysków SCSI, w tym -- poprzez emulację -- SATA).
Przypuszczam, że nie masz w swoim komputerze więcej niż 16 dysków SATA,
więc wszystkie pewnie mają 'major number' 8 (siedemnasty miałby 65,
trzydziesty trzeci 66 itd.).  NVME mają 'major' 259, a na temat partycji
w /proc/devices nie ma żadnych informacji (partycje mają ten sam 'major'
co dysk, na którym się znajdują, chyba że na tym dysku jest ich więcej
niż 15, to wtedy szesnasta i następne mają 259).


-- 
mrg
Re: diwajsy blokowe
#907178
Author: szopen
Date: Fri, 09 Jun 2023 16:10
71 lines
3395 bytes
On 9.06.2023 12:58, marrgol wrote:
> On 09/06/2023 at 07.42, szopen wrote:
>>>> i mam pytanie. Loop jest rzeczywiście 7, ale co to za urządzenia sd od
>>>> 65 do 135?
>>
>> Z tego co zrozumiałem wynika, że to zarówno dyski (ssd, hdd, nvme) jak i
>> partycje na nich. Liczbowo się zgadza, thx.
> 
> Mam wrażenie, że chyba coś źle zrozumiałeś, a liczbowo zgadza ci się
> co najwyżej  przypadkiem.  /proc/devices pokazuje 'major numbers'
> plików urządzeń przypisanych poszczególnym, uruchomionym w jądrze
> sterownikom, a nie urządzenia fizycznie obecne w komputerze.  8, 65÷71
> i 128÷135 to numery przypisane sterownikowi sd (jest ich 16 i każdy
> „obsługuje” 16 'minor', co znaczy że _możesz_ mieć w komputerze do 256
> fizycznych dysków SCSI, w tym -- poprzez emulację -- SATA).
> Przypuszczam, że nie masz w swoim komputerze więcej niż 16 dysków SATA,
> więc wszystkie pewnie mają 'major number' 8 (siedemnasty miałby 65,
> trzydziesty trzeci 66 itd.).  NVME mają 'major' 259, a na temat partycji
> w /proc/devices nie ma żadnych informacji (partycje mają ten sam 'major'
> co dysk, na którym się znajdują, chyba że na tym dysku jest ich więcej
> niż 15, to wtedy szesnasta i następne mają 259).

Ok, to wracamy do punktu wyjścia. W pliku devices.txt, do którego link 
wskazał Kamil są setki urządzeń jakie może obsługiwać kernel, zarówno 
blokowych jak i znakowych.
Z kolei w moim kompie w /proc/devices jest lista:

Block devices:
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
259 blkext


A zatem co ta lista oznacza konkretnie? Dlaczego nie ma tam tych setek 
urządzeń? Czy to znaczy, że mój kernel ma akurat drivery o tych 
identyfikatorach wkompilowane? Czy to może coś jeszcze innego?

W tym pliku devices.txt major o numerze 259 jest opisany:

259 block	Block Extended Major

Used dynamically to hold additional partition minor numbers and allow 
large numbers of partitions per device

I to się zgadza z tym co wyżej w mojej liście jest (blkext) tylko nie ma
tu ani słowa o nvme ani nawet jakiegoś nawiązania do tego.

Pytam z ciekawości, nie jest mi to potrzebne do niczego konkretnego.


-- 
szopen
Re: diwajsy blokowe
#907177
Author: marrgol
Date: Fri, 09 Jun 2023 20:04
54 lines
3143 bytes
On 09/06/2023 at 18.10, szopen wrote:
> Ok, to wracamy do punktu wyjścia. W pliku devices.txt, do którego link
> wskazał Kamil są setki urządzeń jakie może obsługiwać kernel, zarówno
> blokowych jak i znakowych.
> Z kolei w moim kompie w /proc/devices jest lista:
> 
> Block devices:
> 7 loop
> 8 sd
> 9 md
> 11 sr
> 65 sd
> […]
> 135 sd
> 253 device-mapper
> 254 mdp
> 259 blkext
> 
> 
> A zatem co ta lista oznacza konkretnie? Dlaczego nie ma tam tych setek
> urządzeń? Czy to znaczy, że mój kernel ma akurat drivery o tych
> identyfikatorach wkompilowane? Czy to może coś jeszcze innego?

Tak jak napisałem: „/proc/devices pokazuje 'major numbers' plików
urządzeń przypisanych poszczególnym, uruchomionym w jądrze
sterownikom” -- słowo klucz: »uruchomionym«.  Inaczej mówiąc
jądro pokazuje w tym pliku tylko »działające w nim w danej chwili«
sterowniki urządzeń blokowych i znakowych (nie tylko te, które
są wkompilowane na stałe, ale i te załadowane jako moduły),
i numery 'major', jakie są dla tych sterowników w tym momencie
zarezerwowane.

> W tym pliku devices.txt major o numerze 259 jest opisany:
> 
> 259 block	Block Extended Major
> 
> Used dynamically to hold additional partition minor numbers and allow
> large numbers of partitions per device
> 
> I to się zgadza z tym co wyżej w mojej liście jest (blkext) tylko nie ma
> tu ani słowa o nvme ani nawet jakiegoś nawiązania do tego.

Może dokumentacja jest po prostu nieaktualna.  A może nvme nie ma
przypisanego na stałe „własnego” 'major number' i przydział jest
dynamiczny, lokalny -- choć wydawałoby się, że numer powinien być wtedy
z jednego z zakresów opisanych w pliku devices.txt jako 'LOCAL/
EXPERIMENTAL USE' (tak chyba jest np. w przypadku device-mappera,
którego zresztą masz na swojej liście), a nie 259.  Albo może jest
jeszcze jakiś inny powód dla którego nvme używa akurat 259 --
nie wiem, nie wnikałem.


-- 
mrg
Re: diwajsy blokowe
#907179
Author: szopen
Date: Fri, 09 Jun 2023 20:42
41 lines
2516 bytes
On 9.06.2023 22:04, marrgol wrote:
>> A zatem co ta lista oznacza konkretnie? Dlaczego nie ma tam tych setek
>> urządzeń? Czy to znaczy, że mój kernel ma akurat drivery o tych
>> identyfikatorach wkompilowane? Czy to może coś jeszcze innego?
> 
> Tak jak napisałem: „/proc/devices pokazuje 'major numbers' plików
> urządzeń przypisanych poszczególnym, uruchomionym w jądrze
> sterownikom” -- słowo klucz: »uruchomionym«.  Inaczej mówiąc
> jądro pokazuje w tym pliku tylko »działające w nim w danej chwili«
> sterowniki urządzeń blokowych i znakowych (nie tylko te, które
> są wkompilowane na stałe, ale i te załadowane jako moduły),
> i numery 'major', jakie są dla tych sterowników w tym momencie
> zarezerwowane.

Super, jesteśmy coraz bliżej jasności. Pozostaje zatem jeszcze jedno 
pytanie. Po cholerę (?) jądro trzyma "uruchomione" sterowniki dla 
urządzeń, których nie ma (i dodatkowo być nie może, bo nie ma szans 
fizycznie na żadnym mobo podpiąć tyle diwajsów) czyli te:

65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd

Ten aspekt mnie chyba najbardziej skonfudował i zagubił.
Skoro nie odpala setek innych sterowników to i te mógłby sobie darować, 
tak mi się wydaje, ale pewnie się ponownie mylę. Mylę?

-- 
szopen
Re: diwajsy blokowe
#907180
Author: Kamil Jońca
Date: Fri, 09 Jun 2023 20:56
36 lines
1720 bytes
szopen <szop@en.szop> writes:

[...]
>> zarezerwowane.
>
> Super, jesteśmy coraz bliżej jasności. Pozostaje zatem jeszcze jedno
> pytanie. Po cholerę (?) jądro trzyma "uruchomione" sterowniki dla
> urządzeń, których nie ma (i dodatkowo być nie może, bo nie ma szans
> fizycznie na żadnym mobo podpiąć tyle diwajsów) czyli te:
>
> 65 sd
> 66 sd
> 67 sd
> 68 sd
> 69 sd
> 70 sd
> 71 sd
> 128 sd
> 129 sd
> 130 sd
> 131 sd
> 132 sd
> 133 sd
> 134 sd
> 135 sd
>
To chyba nie tak.
To (chyba) należy rozumieć "mam sterownik sd" i on stworzy urządzenia o
tych numerach gdy podłączysz fizyczne dyski.
tu nie ma "setek sterowników". Jest jeden "sd" i wiele numerków.

KJ


-- 
http://wolnelektury.pl/wesprzyj/teraz/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads