On Fri, Sep 29, 2006 at 09:32:20AM +0100, Stephen Gran wrote: > This one time, at band camp, Andrew Pollock said: > > Whilst playing around with hdparm -C on some IDE drives connected via > > IDE-USB adapters, it became apparent that it was reporting standby, when > > it really should have been reporting unknown. This is apparent when > > running hdparm under strace. It gets an ENOTTY back from the ioctl() > > call, and then goes on to report the drive being in a standby state. It > > should, according to the manpage, be reporting "unknown". > > Can yuo send me the complete strace output? What you're reporting is > not exactly what I see in the code, so I'd like to look it over.
Attached. regards Andrew
execve("/sbin/hdparm", ["hdparm", "-C", "/dev/sda"], [/* 13 vars */]) = 0 uname({sys="Linux", node="minotaur", ...}) = 0 brk(0) = 0x8057000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7ef5000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7ef4000 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=24754, ...}) = 0 mmap2(NULL, 24754, PROT_READ, MAP_PRIVATE, 3, 0) = 0xa7eed000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1279120, ...}) = 0 mmap2(NULL, 1289180, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xa7db2000 mmap2(0xa7ee3000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x130) = 0xa7ee3000 mmap2(0xa7eeb000, 7132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xa7eeb000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7db1000 mprotect(0xa7ee3000, 20480, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xa7db16c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xa7eed000, 24754) = 0 open("/dev/sda", O_RDONLY|O_NONBLOCK) = 3 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7ef3000 write(1, "\n", 1) = 1 write(1, "/dev/sda:\n", 10) = 10 ioctl(3, 0x31f, 0xafe04e40) = -1 EINVAL (Invalid argument) write(1, " drive state is: standby\n", 26) = 26 close(3) = 0 munmap(0xa7ef3000, 4096) = 0 exit_group(0) = ?