AlaK4X
Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64



Your IP : 18.117.104.132


Current Path : /lib/udev/
Upload File :
Current File : //lib/udev/hdparm

#!/bin/sh

set -e

[ -n "$DEVNAME" ] || exit 1

. /lib/hdparm/hdparm-functions

if [ -e /proc/cmdline ]; then #linux only - future proofing against BSD and Hurd :)
        if grep -wq nohdparm /proc/cmdline ; then
                exit 0
        fi
fi

raidstat=OK
if [ -e /proc/mdstat ]; then
        if egrep -iq "resync|repair|recover|check" /proc/mdstat; then
                raidstat=RESYNC
        fi
elif [ -e /proc/rd/status ]; then
        raidstat=`cat /proc/rd/status`
fi

if ! [ "$raidstat" = 'OK' ]; then
        exit 1
fi

die() { echo "$*" 1>&2 ; exit 1; }
OPTIONS=$(hdparm_options $DEVNAME) || die "hdparm_options failed with: $OPTIONS"
apmopts=''
if [ -n "$OPTIONS" ]; then
        for opt in $OPTIONS; do
                case $opt in
                        (*'-B'*|*'-S'*|*'force_spindown_time'*)
                                apmopts='true'
                        ;;
                esac
        done
        if [ "$apmopts" = true ]; then
                /usr/lib/pm-utils/power.d/95hdparm-apm resume
        fi
        # strip -S (spindown) and -B (apm), force_spindown_time and -q
        # apm options are handled by /usr/lib/pm-utils/power.d/95hdparm-apm
        OPTIONS=$(echo $OPTIONS | perl -pe 's/((-S|-B|force_spindown_time)[\d]{1,3})|(-q\s?)//g')
        if [ -n "$OPTIONS" ]; then
                /sbin/hdparm -q $OPTIONS $DEVNAME 2>/dev/null
        fi
fi

exit 0