Commit 8783216e authored by Vitaly Lipatov's avatar Vitaly Lipatov

hdd: improve output

parent 4a5fe594
...@@ -24,13 +24,25 @@ is_hdd() ...@@ -24,13 +24,25 @@ is_hdd()
print_model() print_model()
{ {
local dev="$1"
hdparm -i $dev | grep "Model=" | sed -e "s|.*Model=\(.*\), F.*|\1|" hdparm -i $dev | grep "Model=" | sed -e "s|.*Model=\(.*\), F.*|\1|"
} }
print_size() print_size()
{ {
local dev="$1"
local sectors local sectors
sectors="$(hdparm -i $dev | grep "LBAsects=" | sed -e "s|.*LBAsects=\(.*\)|\1|")" #" sectors="$(hdparm -i $dev | grep "LBAsects=" | sed -e "s|.*LBAsects=\(.*\)|\1|")" #"
echo "$(($sectors/2/1024/1024)) MB" # other method:
#sectors="$(blockdev --getsz $dev)"
echo "$(($sectors/2/1024/1024)) GB"
} }
print_partsize()
{
local dev="$1"
local sectors
local drive="$(basename $dev)"
sectors="$(cat /sys/class/block/$drive/size)"
echo "$(($sectors/2/1024/1024)) GB"
}
#!/bin/sh
PROGDIR=$(dirname "$0")
[ "$PROGDIR" = "." ] && PROGDIR=$(pwd)
. $PROGDIR/functions.sh
for dev in $(echo /sys/class/block/md*) ; do
echo "$(basename $dev) $(print_partsize $dev)"
done
...@@ -23,7 +23,7 @@ for dev in /dev/sd? ; do ...@@ -23,7 +23,7 @@ for dev in /dev/sd? ; do
use_in_md "$md" "$dev" || continue use_in_md "$md" "$dev" || continue
devpart="$(mdadm -D "$md" | grep "$dev" | sed -e "s|.*$dev|$dev|")" devpart="$(mdadm -D "$md" | grep "$dev" | sed -e "s|.*$dev|$dev|")"
[ -b "$devpart" ] || exit [ -b "$devpart" ] || exit
echo " used in $md as $devpart, set $FLAG ..." echo " used in $md as $devpart $(print_partsize $devpart), set $FLAG ..."
echo "$FLAG" >/sys/block/$(basename $md)/md/dev-$(basename $devpart)/state echo "$FLAG" >/sys/block/$(basename $md)/md/dev-$(basename $devpart)/state
done done
done done
......
...@@ -6,8 +6,8 @@ PROGDIR=$(dirname "$0") ...@@ -6,8 +6,8 @@ PROGDIR=$(dirname "$0")
is_hdd /dev/sda && echo HDD || echo SSD is_hdd /dev/sda && echo HDD || echo SSD
dev=/dev/sda dev=/dev/sda
echo "$dev (Model $(print_model $dev), size $(print_size $dev)" echo "$dev, model $(print_model $dev), size $(print_size $dev), partsize $(print_partsize $dev)"
dev=/dev/sdc dev=/dev/sdc
is_hdd /dev/sdc && echo HDD || echo SSD is_hdd /dev/sdc && echo HDD || echo SSD
echo "$dev (Model $(print_model $dev), size $(print_size $dev)" echo "$dev, model $(print_model $dev), size $(print_size $dev), partsize $(print_partsize ${dev}1)"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment