* 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.