Duplicates in /proc/partitions
Brian Inglis
Brian.Inglis@SystematicSw.ab.ca
Mon Aug 16 16:56:32 GMT 2021
On 2021-08-16 08:51, Corinna Vinschen via Cygwin wrote:
> On Aug 13 12:56, David Balažic via Cygwin wrote:
>> Before, during and after plugging in a n USB stick:
>>
>> $ cat /proc/partitions
>> major minor #blocks name win-mounts
>>
>> 8 0 1000204632 sda
>> 8 1 102400 sda1
>> 8 2 16384 sda2
>> 8 3 999571820 sda3 C:\
>> 8 4 510976 sda4
>>
>> $ cat /proc/partitions
>> major minor #blocks name win-mounts
>>
>> 8 0 1000204632 sda
>> 8 1 102400 sda1
>> 8 2 16384 sda2
>> 8 3 999571820 sda3 C:\
>> 8 4 510976 sda4
>> 8 16 62522712 sdb
>> 8 17 4096000 sdb1 D:\
>> 8 18 58424664 sdb2
>> 8 16 62522712 sdb
>> 8 17 4096000 sdb1 D:\
>> 8 18 58424664 sdb2 E:\
>>
>> $ cat /proc/partitions
>> major minor #blocks name win-mounts
>>
>> 8 0 1000204632 sda
>> 8 1 102400 sda1
>> 8 2 16384 sda2
>> 8 3 999571820 sda3 C:\
>> 8 4 510976 sda4
>> 8 16 62522712 sdb
>> 8 17 4096000 sdb1 D:\
>> 8 18 58424664 sdb2 E:\
>>
>>
>> So the second listing shows sdb twice. Also E: does not seem to exist
>> (see below).
>
> So, second report. Which OS is that on? I don't have any physical
> Windows machine anymore, so I have a bit of a problem to reproduce this.
>
> As I wrote in https://cygwin.com/pipermail/cygwin/2021-August/249012.html,
> I don't see how Cygwin would be able to duplicate entries, unless the OS
> itself duplicates entries.
>
> Somebody who can duplicate this issue would have to single step through
> function format_proc_partitions, see
>
> https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/fhandler_proc.cc;h=66d19ab82f;hb=HEAD#l1686
>
> and check what actually happens in the above cases.
Could those with the symptoms not provide useful information using a
script run in an elevated admin shell listing the relevant contents of
Windows objects accessed by format_proc_partitions from /proc/sys/
similar to the attached script and log from my system, where the
correspondence is obvious?
e.g. save script and run as:
# sh .../proc-sys-partitions.sh.txt |& tee .../proc-sys-partitions.log
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
-------------- next part --------------
#!/bin/sh
# proc-sys-partitions.sh - list /proc/partitions and /proc/sys/ related objects
echo '#' '# elevated admin shell required'
cmd="tail -vn+0"
for p in /proc/partitions \
"/proc/sys/Device/Harddisk[0-9]/Partition[0-9]" \
"/proc/sys/DosDevices/GLOBALROOT/Device/Harddisk[0-9]/Partition[0-9]" \
"/proc/sys/Device/Harddisk[0-9]/DR[0-9]" \
"/proc/sys/Device/HarddiskVolume[0-9]"
do
echo '#' $cmd "$p"
$cmd $p
cmd="ls -l"
done
-------------- next part --------------
# # elevated admin shell required
# tail -vn+0 /proc/partitions
==> /proc/partitions <==
major minor #blocks name win-mounts
8 0 976762584 sda
8 1 16384 sda1
8 2 976206318 sda2 C:\
8 3 536576 sda3
8 16 976762584 sdb
8 17 131072 sdb1
8 18 102400 sdb2
8 19 975482161 sdb3 D:\
8 20 577536 sdb4
8 21 465920 sdb5
8 32 0 sdc
# ls -l /proc/sys/Device/Harddisk[0-9]/Partition[0-9]
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk0/Partition0 -> /proc/sys/Device/Harddisk0/DR0
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk0/Partition1 -> /proc/sys/Device/HarddiskVolume1
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk0/Partition2 -> /proc/sys/Device/HarddiskVolume2
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk0/Partition3 -> /proc/sys/Device/HarddiskVolume3
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition0 -> /proc/sys/Device/Harddisk1/DR1
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition1 -> /proc/sys/Device/HarddiskVolume4
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition2 -> /proc/sys/Device/HarddiskVolume5
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition3 -> /proc/sys/Device/HarddiskVolume6
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition4 -> /proc/sys/Device/HarddiskVolume7
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk1/Partition5 -> /proc/sys/Device/HarddiskVolume8
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk2/Partition0 -> /proc/sys/Device/Harddisk2/DR2
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/Device/Harddisk2/Partition1 -> /proc/sys/Device/HarddiskVolume9
# ls -l /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk[0-9]/Partition[0-9]
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk0/Partition0 -> /proc/sys/Device/Harddisk0/DR0
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk0/Partition1 -> /proc/sys/Device/HarddiskVolume1
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk0/Partition2 -> /proc/sys/Device/HarddiskVolume2
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk0/Partition3 -> /proc/sys/Device/HarddiskVolume3
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition0 -> /proc/sys/Device/Harddisk1/DR1
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition1 -> /proc/sys/Device/HarddiskVolume4
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition2 -> /proc/sys/Device/HarddiskVolume5
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition3 -> /proc/sys/Device/HarddiskVolume6
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition4 -> /proc/sys/Device/HarddiskVolume7
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk1/Partition5 -> /proc/sys/Device/HarddiskVolume8
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk2/Partition0 -> /proc/sys/Device/Harddisk2/DR2
lr--r--r-- 1 Administrators SYSTEM 0 Aug 16 10:50 /proc/sys/DosDevices/GLOBALROOT/Device/Harddisk2/Partition1 -> /proc/sys/Device/HarddiskVolume9
# ls -l /proc/sys/Device/Harddisk[0-9]/DR[0-9]
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/Harddisk0/DR0
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/Harddisk1/DR1
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/Harddisk2/DR2
# ls -l /proc/sys/Device/HarddiskVolume[0-9]
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume1
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume2
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume3
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume4
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume5
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume6
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume7
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume8
brw-rw-rw- 1 BWI Users 284, 9999 Aug 16 10:50 /proc/sys/Device/HarddiskVolume9
More information about the Cygwin
mailing list