From d512e6b9adc2539ad5497b57c1f4bd74a63171c0 Mon Sep 17 00:00:00 2001 From: Harald Hope Date: Mon, 9 Nov 2015 19:03:46 -0800 Subject: [PATCH] New version, new tarball. A subtle issue pointed out by a user, inxi is limited to 26 drives, and fails to handle the linux > 26 options: https://rwmj.wordpress.com/2011/01/09/how-are-linux-drives-named-beyond-drive-26-devsdz/ That article explains the failing well. Note that because I have neither user data sets or > 26 hdd systems available, I cannot verify that my fix works. It may work, that's all I can say. --- inxi | 12 ++++++------ inxi.changelog | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/inxi b/inxi index fdebd47..d954741 100755 --- a/inxi +++ b/inxi @@ -1,8 +1,8 @@ #!/usr/bin/env bash ######################################################################## #### Script Name: inxi -#### Version: 2.2.28 -#### Date: 2015-08-20 +#### Version: 2.2.29 +#### Date: 2015-11-09 #### Patch Number: 00 ######################################################################## #### SPECIAL THANKS @@ -6083,7 +6083,7 @@ get_hdd_data_basic() # note that linux 3.2.45-grsec-9th types kernels have this type of partition name: /dev/xvdc (no number, letter) # note: btrfs does not seem to use partition integers, just the primary /dev/sdx identifier # df can also show /dev/disk/(by-label|by-uuid etc) - /^\/dev\/(disk\/|mapper\/|[hsv]d[a-z][0-9]*|dm[-]?[0-9]+|ada[0-9]+p[0-9]+.*|(ad|sd|wd)[0-9]+[a-z]|md[0-9]+|[aw]d[0-9]+s.*|xvd[a-z])|^ROOT/ { + /^\/dev\/(disk\/|mapper\/|[hsv]d[a-z]+[0-9]*|dm[-]?[0-9]+|ada[0-9]+p[0-9]+.*|(ad|sd|wd)[0-9]+[a-z]|md[0-9]+|[aw]d[0-9]+s.*|xvd[a-z]+)|^ROOT/ { # this handles the case where the first item is too long # and makes df wrap output to next line, so here we advance # it to the next line for that single case. Using df -P should @@ -6142,7 +6142,7 @@ get_hdd_data_basic() if [[ $B_PARTITIONS_FILE == 'true' ]];then A_HDD_DATA=( $( gawk -v hddUsed=$hdd_used ' - /[hsv]d[a-z]$/ { + /[hsv]d[a-z]+$/ { driveSize = $(NF - 1)*1024/1000**3 gsub(/,/, " ", driveSize) gsub(/^ +| +$/, "", driveSize) @@ -6154,7 +6154,7 @@ get_hdd_data_basic() # } # special case from this data: 8 0 156290904 sda # note: vm has 252/253/254 known starter, grsec has 202 - $1 ~ /^(3|8|22|33|202|252|253|254)$/ && $NF ~ /[hsv]d[a-z]$/ && ( $2 % 16 == 0 || $2 % 16 == 8 ) { + $1 ~ /^(3|8|22|33|202|252|253|254)$/ && $NF ~ /[hsv]d[a-z]+$/ && ( $2 % 16 == 0 || $2 % 16 == 8 ) { size += $3 } END { @@ -8096,7 +8096,7 @@ get_partition_data_advanced() # if this works, great, otherwise, just set this to null values partTemp="'$( readlink /dev/root 2>/dev/null )'" if ( partTemp != "" ) { - if ( partTemp ~ /[hsv]d[a-z][0-9]{1,2}/ ) { + if ( partTemp ~ /[hsv]d[a-z]+[0-9]{1,2}/ ) { partition=gensub( /^(\/dev\/)(.+)$/, "\\2", 1, partTemp ) } else if ( partTemp ~ /by-uuid/ ) { diff --git a/inxi.changelog b/inxi.changelog index d2f2ede..bdeb994 100755 --- a/inxi.changelog +++ b/inxi.changelog @@ -1,3 +1,23 @@ +===================================================================================== +Version: 2.2.29 +Patch Version: 00 +Script Date: 2015-11-09 +----------------------------------- +Changes: +----------------------------------- +New version, new tarball. A subtle issue pointed out by a user, inxi is limited to +26 drives, and fails to handle the linux > 26 options: + +https://rwmj.wordpress.com/2011/01/09/how-are-linux-drives-named-beyond-drive-26-devsdz/ + +That article explains the failing well. + +Note that because I have neither user data sets or > 26 hdd systems available, I cannot +verify that my fix works. It may work, that's all I can say. + +----------------------------------- +-- Harald Hope - Mon, 09 Nov 2015 19:00:08 -0800 + ===================================================================================== Version: 2.2.28 Patch Version: 00