Messages in this thread | | | Date | Tue, 30 Apr 2002 21:58:44 +0200 | From | Martin Schewe <> | Subject | Re: [PATCH] IDE TCQ #4 |
| |
Hi,
On Tue, Apr 16, 2002 at 12:25:10PM +0200, Jens Axboe wrote:
> Mark Hahn wrote this little script to detect support for TCQ, modified > by me to not use the hdX symlinks. > > [...] > > #!/usr/bin/perl > > # bit 1 (TCQ) and 14 (word is valid) must be set to indicate tcq support > $mask = (1 << 1) | (1 << 14); > > # bit 15 must be cleared too > $bits = $mask | (1 << 15); > > # mail me the results! > $addr = "linux-tcq\@kernel.dk"; > > foreach $i (</proc/ide/ide*>) { > foreach $d (<$i/hd*>) { > @words = split(/\s/,`cat $d/identify`); > $w83 = hex($words[83]); > if (!(($w83 & $bits) ^ $mask)) { > $model = `cat $d/model`; > push(@goodies, $model); > chomp($model); > print "$d ($model) supports TCQ\n"; > } > } > } > > if ($addr && $#goodies) {
$#goodies refers to the last index of the array and scalar @goodies to the actual number of elements. So you probably got only mails from people having more than two drives supporting TCQ... :)
> open(M, "| mail -s TCQ-report $addr"); > print M @goodies; > close(M); > }
Fixed version attached.
Martin #!/usr/bin/perl
# bit 1 (TCQ) and 14 (word is valid) must be set to indicate tcq support $mask = (1 << 1) | (1 << 14);
# bit 15 must be cleared too $bits = $mask | (1 << 15);
# mail me the results! $addr = "linux-tcq\@kernel.dk";
foreach $i (</proc/ide/ide*>) { foreach $d (<$i/hd*>) { @words = split(/\s/,`cat $d/identify`); $w83 = hex($words[83]); if (!(($w83 & $bits) ^ $mask)) { $model = `cat $d/model`; push(@goodies, $model); chomp($model); print "$d ($model) supports TCQ\n"; } } }
if ($addr && @goodies) { open(M, "| mail -s TCQ-report $addr"); print M @goodies; close(M); } [unhandled content-type:application/pgp-signature] | |