|
From: Michael L. <mi...@la...> - 2006-11-19 11:58:29
|
hi all,
i just installed smartmontools and find it very useful.
allthough i have some troubles with the devicescan option.
i use DEVICESCAN because i have different types of drives in my systems (
some ATA, some SATA, on some both).
here is the problem i encounter
when i set nothing but DEVICESCAN i get
2006 11 19 02 33 13 esg smartd smartd[4891]: Configuration file
/etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hda, opened
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hda, found in
smartd database.
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hda, is SMART
capable. Adding to \"monitor\" list.
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hdc, opened
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hdc, found in
smartd database.
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/hdc, is SMART
capable. Adding to \"monitor\" list.
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/sda, opened
2006 11 19 02 33 13 esg smartd smartd[4891]: Device /dev/sda: SATA disks
accessed via libata are supported by Linux kernel versions 2.6.15-rc1 and
above. Try adding \'-d ata\' to the smartd.conf config file line.
2006 11 19 02 33 13 esg smartd smartd[4891]: Device: /dev/sdb, opened
2006 11 19 02 33 13 esg smartd smartd[4891]: Device /dev/sdb: SATA disks
accessed via libata are supported by Linux kernel versions 2.6.15-rc1 and
above. Try adding \'-d ata\' to the smartd.conf config file line.
when i use -d ata the /dev/sd* devices do not even get scanned.
one solution would be to add 4 entries into /etc/smartd.conf which i don't
want ( i want one config for all systems).
i patched os_linux.c (or hacked ? ;) like
--- smartmontools-5.36.orig/os_linux.c 2006-04-12 17:02:19.000000000 +0000
+++ smartmontools-5.36/os_linux.c 2006-11-19 01:48:27.000000000 +0000
@@ -348,7 +348,7 @@
if (!strcmp(name,"SCSI"))
retval=get_dev_names(devlist,"/dev/sd[a-z]", name, maxdev=26);
else if (!strcmp(name,"ATA"))
- retval=get_dev_names(devlist,"/dev/hd[a-t]", name, maxdev=20);
+ retval=get_dev_names(devlist,"/dev/[sh]d[a-z]", name, maxdev=52);
else
// don't recognize disk type!
return 0;
This way all devices get scanned and i force '-d ata'.
I think the "right" solution would be to not drop /dev/sd* devices when
nothing gets set an ddevicescan is used and rather the libara access method
is used.
michael
|