* lsblk vice fdisk, etc
@ 2014-08-19 9:51 jb
2014-08-19 18:21 ` jb
2014-08-25 14:21 ` jb
0 siblings, 2 replies; 7+ messages in thread
From: jb @ 2014-08-19 9:51 UTC (permalink / raw)
To: util-linux
Hi,
I think there is a need to fix and reconcile lsblk with fdisk, cfdisk, etc,
as demonstrated on example of usb flash drive, shown as /dev/sdb device.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 37.3G 0 disk
├─sda1 8:1 0 20G 0 part
├─sda2 8:2 0 1.5G 0 part [SWAP]
├─sda3 8:3 0 13.4G 0 part /
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2.4G 0 part
sdb 8:16 1 7.3G 0 disk
└─sdb1 8:17 1 683M 0 part
sr0 11:0 1 1024M 0 rom
$
Where does sr0's size of 1024M come from ?
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 38b23ec9-4947-46ae-a2b2-d48f4582af3f
├─sda2 swap 8074aa4f-489e-4adc-a356-ff09d633534f [SWAP]
├─sda3 ext4 d067602d-f15d-49c0-abad-865adab2cc8f /
├─sda4
└─sda5 ext4 4f168c8f-ac1d-4048-ac3f-254fa4392c60
sdb iso9660 Test
2014-07-22-17-24-48-12
└─sdb1 iso9660 Test
2014-07-22-17-24-48-12
sr0
$
The line
sdb iso9660 Test
should be consistent with sda and show
sdb
The line
└─sdb1 iso9660 Test
should be reconciled with what fdisk, etc show.
# fdisk -l /dev/sdb
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 1398783 1398784 683M 17 Hidden HPFS/NTFS
# cfdisk /dev/sdb
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 1398783 1398784 683M 17 Hidden HPFS/NTFS
Free space 1398784 15356159 13957376 6.7G
# parted -l
...
Number Start End Size Type File system Flags
1 1049kB 21.4GB 21.4GB primary ext4 boot
2 21.4GB 23.0GB 1578MB primary linux-swap(v1)
3 23.0GB 37.4GB 14.4GB primary ext4
4 37.4GB 40.0GB 2579MB extended
5 37.4GB 40.0GB 2579MB logical ext4
Error: Invalid partition table - recursive partition on /dev/sdb.
Ignore/Cancel?
#
# partprobe
Error: Invalid partition table - recursive partition on /dev/sdb.
# partx -s /dev/sdb
NR START END SECTORS SIZE NAME UUID
1 0 1398783 1398784 683M 3054920d-01
# partx -o type,flags,scheme /dev/sdb
TYPE FLAGS SCHEME
0x17 0x80 dos
Note: TYPE shows 0x17, which represents "Hidden HPFS/NTFS"
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-19 9:51 lsblk vice fdisk, etc jb
@ 2014-08-19 18:21 ` jb
2014-08-19 20:05 ` Dave Reisner
2014-08-25 14:21 ` jb
1 sibling, 1 reply; 7+ messages in thread
From: jb @ 2014-08-19 18:21 UTC (permalink / raw)
To: util-linux
jb <jb.1234abcd@...> writes:
> ...
> The line
> └─sdb1 iso9660 Test
> should be reconciled with what fdisk, etc show.
> ...
The following display demonstrates it better.
$ lsblk -o name,fstype,parttype,size
NAME FSTYPE PARTTYPE SIZE
sda 37.3G
├─sda1 ext4 0x83 20G
├─sda2 swap 0x82 1.5G
├─sda3 ext4 0x83 13.4G
└─sda5 ext4 0x83 2.4G
sdb iso9660 7.3G
└─sdb1 iso9660 0x17 683M
sr0 1024M
$
Note the sda device lines - they have proper "FSTYPE PARTTYPE" translation.
This line
└─sdb1 iso9660 0x17 683M
is contradictory as 0x17 represents "Hidden HPFS/NTFS" elsewhere (fdisk, etc).
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-19 18:21 ` jb
@ 2014-08-19 20:05 ` Dave Reisner
2014-08-20 9:00 ` jb
0 siblings, 1 reply; 7+ messages in thread
From: Dave Reisner @ 2014-08-19 20:05 UTC (permalink / raw)
To: jb; +Cc: util-linux
On Tue, Aug 19, 2014 at 06:21:06PM +0000, jb wrote:
> jb <jb.1234abcd@...> writes:
>
> > ...
> > The line
> > └─sdb1 iso9660 Test
> > should be reconciled with what fdisk, etc show.
> > ...
>
> The following display demonstrates it better.
>
> $ lsblk -o name,fstype,parttype,size
> NAME FSTYPE PARTTYPE SIZE
> sda 37.3G
> ├─sda1 ext4 0x83 20G
> ├─sda2 swap 0x82 1.5G
> ├─sda3 ext4 0x83 13.4G
> └─sda5 ext4 0x83 2.4G
> sdb iso9660 7.3G
> └─sdb1 iso9660 0x17 683M
> sr0 1024M
> $
>
> Note the sda device lines - they have proper "FSTYPE PARTTYPE" translation.
>
> This line
> └─sdb1 iso9660 0x17 683M
> is contradictory as 0x17 represents "Hidden HPFS/NTFS" elsewhere (fdisk, etc).
Why do you think this is contradictory? The filesystem type and
partition type are two disparate types.
d
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-19 20:05 ` Dave Reisner
@ 2014-08-20 9:00 ` jb
0 siblings, 0 replies; 7+ messages in thread
From: jb @ 2014-08-20 9:00 UTC (permalink / raw)
To: util-linux
Dave Reisner <d <at> falconindy.com> writes:
> ...
> Why do you think this is contradictory? The filesystem type and
> partition type are two disparate types.
Yes, you are right, technically.
But I mentioned it because it bothers me, and confuses slightly.
Let me explain why, and I reserve the right to be wrong if I miss some
aspects of it.
It is about the business of partition types and file system types, perhaps
even partitions and file systems in general.
Example:
# lsblk -o name,fstype,parttype,label,mountpoint /dev/sdb
NAME FSTYPE PARTTYPE LABEL MOUNTPOINT
sdb
├─sdb1 ntfs 0x83
└─sdb2 ext4 0x17
# fdisk -l /dev/sdb
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 7522303 7520256 3.6G 83 Linux
/dev/sdb2 7522304 15356159 7833856 3.8G 17 Hidden HPFS/NTFS
#
This is what I mean, a mixture of partition types (with their type names
suggesting something) and file system types, contradicting each other at
least in descriptions.
Somehow I have an impression that there was an intention at some time in the
past to associate partition types with only certain file system types.
But it never worked, or was misunderstood, or was abandoned.
That's my guess.
There is some evidence to that assumption (note that they are actually
contradictory in their wording):
http://en.wikipedia.org/wiki/Disk_partition
"The partition type code for a primary partition can either correspond to a
file system contained within (e.g. 0x07 means either an NTFS or an OS/2 HPFS
file system) or indicate that the partition has a special use (e.g. code
0x82 usually indicates a Linux swap partition). The FAT16 and FAT32 file
systems have made use of a number of partition type codes due to the limits
of various DOS and Windows OS versions. Though a Linux operating system may
recognize a number of different file systems (ext4, ext3, ext2, ReiserFS,
etc.), they have all consistently used the same partition type code: 0x83
(Linux native file system)."
http://tldp.org/HOWTO/Partition/partition-types.html
"A partition is labeled to host a certain kind of file system (...). Such a
file system could be the linux standard ext2 file system or linux swap
space, or even foreign file systems like (Microsoft) NTFS or (Sun) UFS."
I would like to get to the point here.
Why not abandon the partition and file system dichotomy.
Why not use just one term, let's call it fspart (file system partition),
encompassing functionality of both partition and file system.
For example, fspart would mean "none" for empty space (no fs), ext4, swap,
NTFS, etc.
Basically, let's eliminate partition and file system as known today.
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-19 9:51 lsblk vice fdisk, etc jb
2014-08-19 18:21 ` jb
@ 2014-08-25 14:21 ` jb
2014-08-25 20:46 ` jb
1 sibling, 1 reply; 7+ messages in thread
From: jb @ 2014-08-25 14:21 UTC (permalink / raw)
To: util-linux
jb <jb.1234abcd@...> writes:
> ...
To continue with "Dazed and Confused" ...
I assume all of them became programmers.
https://www.youtube.com/watch?v=wknywxfcE5M
It would be good to have some rules in field naming (meaning and continuity
of their use) in similar (almost identical) displays.
All of these entries display the same data types, so it is imperative that
they correspond to each other clearly.
This will give you an overview of output columns:
$ lsblk -h
...
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 37.3G 0 disk
├─sda1 8:1 0 17G 0 part
├─sda2 8:2 0 4.4G 0 part [SWAP]
├─sda3 8:3 0 13.4G 0 part /
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2.4G 0 part
sr0 11:0 1 1024M 0 rom
The field TYPE refers to a device type, so it should be renamed to DEVTYPE.
This would avoid confusion with other TYPE-like fields, e.g.
- cfdisk and fdisk
Type means partition type (by Id): Linux, Linux swap, Extended, FAT12,
empty, AIX, Dell Utility, etc
- parted
Type means partition type: primary, extended, logical
- partx
Type means partition type (a string, a UUID, or hex)
# lsblk -o name,fstype,label,parttype,partlabel,mountpoint
NAME FSTYPE LABEL PARTTYPE PARTLABEL MOUNTPOINT
sda
├─sda1 ext4 0x83
├─sda2 swap 0x82 [SWAP]
├─sda3 ext4 Arch 0x83 /
├─sda4 0x5
└─sda5 ext4 backup 0x83
sr0
The field LABEL should be renamed to FSLABEL, as there is also a partition
label PARTLABEL.
# blkid
/dev/sda1: UUID="fb838405-607c-4723-9355-47ccbf1eb273" TYPE="ext4"
PARTUUID="3db012b3-01"
/dev/sda5: LABEL="backup" UUID="4f168c8f-ac1d-4048-ac3f-254fa4392c60"
TYPE="ext4" PARTUUID="3db012b3-05"
/dev/sda2: UUID="8afa3b49-ae96-4496-9335-1afd62d67097" TYPE="swap"
PARTUUID="3db012b3-02"
/dev/sda3: LABEL="Arch" UUID="d067602d-f15d-49c0-abad-865adab2cc8f"
TYPE="ext4" PTTYPE="dos" PARTUUID="3db012b3-03"
The fields:
LABEL corresponds to LABEL in lsblk display, which is suggested to be
renamed to FSLABEL, so this one should be too.
TYPE refers to "ext4" and "swap", which suggests a fs type, so it should be
renamed to FSTYPE to correspond to lsblk display.
PTTYPE refers to "dos" ... here I am at a loss; I assume it means partition
type, so it should be renamed to PARTTYPE to correspond to lsblk display;
why "dos" ? why for /dev/sda3 only ?
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-25 14:21 ` jb
@ 2014-08-25 20:46 ` jb
2014-08-25 21:18 ` jb
0 siblings, 1 reply; 7+ messages in thread
From: jb @ 2014-08-25 20:46 UTC (permalink / raw)
To: util-linux
jb <jb.1234abcd@...> writes:
> ...
> PTTYPE refers to "dos" ... here I am at a loss; I assume it means partition
> type, so it should be renamed to PARTTYPE to correspond to lsblk display;
> why "dos" ? why for /dev/sda3 only ?
I have to correct myself here.
PTTYPE refers to partition table type, in this case "dos", which is correct.
But the question "why for /dev/sda3 only ?" stands.
Actually, it should not be included in 'blkid' display at all.
According to BLKID(8), only option -p should display this field.
# blkid -p /dev/sda
/dev/sda: PTUUID="3db012b3" PTTYPE="dos"
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: lsblk vice fdisk, etc
2014-08-25 20:46 ` jb
@ 2014-08-25 21:18 ` jb
0 siblings, 0 replies; 7+ messages in thread
From: jb @ 2014-08-25 21:18 UTC (permalink / raw)
To: util-linux
jb <jb.1234abcd@...> writes:
> ...
> But the question "why for /dev/sda3 only ?" stands.
> Actually, it should not be included in 'blkid' display at all.
> According to BLKID(8), only option -p should display this field.
> # blkid -p /dev/sda
> /dev/sda: PTUUID="3db012b3" PTTYPE="dos"
This should be further qualified.
# blkid /dev/sda
/dev/sda: PTUUID="3db012b3" PTTYPE="dos"
# blkid -p /dev/sda
/dev/sda: PTUUID="3db012b3" PTTYPE="dos"
and so I think that 'blkid' entry I referred previously to (with that
PTTYPE="dos" in /dev/sda3 row, believed to be erroneously displayed there),
should have the "/dev/sda: ..." line displayed at the top:
# blkid
/dev/sda: PTUUID="3db012b3" PTTYPE="dos"
/dev/sda1: UUID="fb838405-607c-4723-9355-47ccbf1eb273" TYPE="ext4"
PARTUUID="3db012b3-01"
...
because BLKID(8) says:
" When device is specified, tokens from only this device are
displayed.
It is possible to specify multiple device arguments on the
command line. If none is given, all devices which appear in
/proc/partitions are shown, if they are recognized."
$ cat /proc/partitions
major minor #blocks name
11 0 1048575 sr0
8 0 39070080 sda
8 1 17825792 sda1
8 2 4647936 sda2
8 3 14076928 sda3
8 4 1 sda4
8 5 2518368 sda5
jb
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-08-25 21:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-19 9:51 lsblk vice fdisk, etc jb
2014-08-19 18:21 ` jb
2014-08-19 20:05 ` Dave Reisner
2014-08-20 9:00 ` jb
2014-08-25 14:21 ` jb
2014-08-25 20:46 ` jb
2014-08-25 21:18 ` jb
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.