From: Roy B. <roy...@gl...> - 2005-01-31 16:23:14
|
I have a problem with smartmontools 5.32 on a Sun Fire V100 running Solaris 9. Disks are ST340016A The command smartctl -o on actually has the effect of _disabling_ automatic offline data collection (at least as reported by smartctl -c), as does smartctl -o off Once disabled, the only way to re-enable automatic offline data collection seems to be smartctl -s off smartctl -s on Any thoughts? -roy |
From: SAWADA K. <car...@us...> - 2005-01-31 19:30:08
|
Hi Roy, Thanks for reporting. There are two problems in Solaris module. First problem: due to my mistake, direction to hard drive is set to "disable" always. Sorry for inconvenience. Second problem: if we correct first problem, then kernel would trigger false data transfer. In a result, system hangs for a while (~30 seconds) and produces warning message. We need some more time to fix this problem, please wait for a while. (Developers, Even an AUTO_OFFLINE feature, kernel treats sector count register as real data length... Let me think about it to avoid it...) On Mon, 31 Jan 2005 16:22:43 +0000 Roy Badami <roy...@gl...> wrote: > > I have a problem with smartmontools 5.32 on a Sun Fire V100 running > Solaris 9. Disks are ST340016A > > The command > > smartctl -o on > > actually has the effect of _disabling_ automatic offline data > collection (at least as reported by smartctl -c), as does smartctl -o off > > Once disabled, the only way to re-enable automatic offline data > collection seems to be > > smartctl -s off > smartctl -s on > > Any thoughts? > > -roy ksw / SAWADA Keiji <car...@us...> |
From: Bruce A. <ba...@gr...> - 2005-01-31 20:06:46
|
> (Developers, Even an AUTO_OFFLINE feature, kernel treats sector count > register as real data length... Let me think about it to avoid it...) I think I had (have) a similar problem with the Linux interface. Solution: I allocate a big buffer so that the kernel can write garbage there without SEGV (os_linux.c): // huge value of buffer size needed because HDIO_DRIVE_CMD assumes // that buff[3] is the data size. Since the ATA_SMART_AUTOSAVE and // ATA_SMART_AUTO_OFFLINE use values of 0xf1 and 0xf8 we need the space. // Otherwise a 4+512 byte buffer would be enough. #define STRANGE_BUFFER_LENGTH (4+512*0xf8) unsigned char buff[STRANGE_BUFFER_LENGTH]; Can you do this with Solaris too? Cheers, Bruce |
From: SAWADA K. <car...@us...> - 2005-02-05 15:28:56
|
> > (Developers, Even an AUTO_OFFLINE feature, kernel treats sector count > > register as real data length... Let me think about it to avoid it...) > > I think I had (have) a similar problem with the Linux interface. History repeats itself... Solaris ATA interface disables Automatic Save Attributes incorrectly too. > Solution: I allocate a big buffer so that the kernel can write garbage > there without SEGV (os_linux.c): > > // huge value of buffer size needed because HDIO_DRIVE_CMD assumes > // that buff[3] is the data size. Since the ATA_SMART_AUTOSAVE and > // ATA_SMART_AUTO_OFFLINE use values of 0xf1 and 0xf8 we need the space. > // Otherwise a 4+512 byte buffer would be enough. > #define STRANGE_BUFFER_LENGTH (4+512*0xf8) > unsigned char buff[STRANGE_BUFFER_LENGTH]; > > Can you do this with Solaris too? This method brings another problem; kernel starts to transfer 0xf1 or 0xf8 sectors length, and waits for completion that never happens. But fortunately, we can specify sector count and transfer count independantly so we can starts no-data command (AUTOSAVE and AUTO_OFFLINE) correctly. Roy, I fixed code in CVS repository. Could you try anonymous CVS or wait for upcoming release 5.34? Thanks again for reporting. Regards, ksw / SAWADA Keiji <car...@us...> |
From: Bruce A. <ba...@gr...> - 2005-02-05 15:38:50
|
> > Can you do this with Solaris too? > > This method brings another problem; kernel starts to transfer 0xf1 or > 0xf8 sectors length, and waits for completion that never happens. > > But fortunately, we can specify sector count and transfer count > independantly so we can starts no-data command (AUTOSAVE and > AUTO_OFFLINE) correctly. Keiji, wonderful! Nice workaround. Cheers, Bruce |
From: Roy B. <roy...@gl...> - 2005-02-08 17:24:29
|
SAWADA> I fixed code in CVS repository. Could you try anonymous SAWADA> CVS or wait for upcoming release 5.34? Thanks again for SAWADA> reporting. Thanks. I'm happy to wait for 5.34. -roy |
From: Roy B. <roy...@gl...> - 2005-01-31 19:43:11
|
>>>>> "SAWADA" == SAWADA Keiji <car...@us...> writes: Thanks for the explanation. Is this problem specific to Solaris? I also have a problem enabling automatic offline data collection on a Maxtor 6Y120P0 drive under FreeBSD 5.3. Of course it could be a problem with the drive... -roy |
From: SAWADA K. <car...@us...> - 2005-01-31 20:12:06
|
AUTO_OFFLINE feature uses irregular form of direction, it is possible that other platform has same problem. Eduard, In ata_command_interface() of os_freebsd.c, do we need to set value of "select" to iocmd.u.request.u.ata.count instead of iocmd.u.request.u.ata.lba? If my recognition is correct, sector count register should hold 248 (enable AUTO_OFFLINE) or 0 (disable AUTO_OFFLINE), and escalade_command_interface() do this correctly. On Mon, 31 Jan 2005 19:43:02 +0000 Roy Badami <roy...@gl...> wrote: > >>>>> "SAWADA" == SAWADA Keiji <car...@us...> writes: > > Thanks for the explanation. > > Is this problem specific to Solaris? I also have a problem enabling > automatic offline data collection on a Maxtor 6Y120P0 drive under > FreeBSD 5.3. > > Of course it could be a problem with the drive... > > -roy ksw / SAWADA Keiji <car...@us...> |