Messages in this thread | | | Date | Mon, 4 Jul 2005 15:25:18 +0200 | From | Jens Axboe <> | Subject | Re: IBM HDAPS things are looking up |
| |
On Mon, Jul 04 2005, Lenz Grimmer wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi Jens! > > Thanks for the sample code. I've trimmed the recipient list a bit... > > Jens Axboe wrote: > > > Perhaps the IDLE or IDLEIMMEDIATE commands imply a head parking, that > > would make sense. As you say, you can hear a drive parking its head. > > Here's a test case, it doesn't sound like it's parking the hard here. > > Not here either, but let me check, if I understand this correctly: > > > #include <stdio.h> > > #include <unistd.h> > > #include <fcntl.h> > > #include <sys/ioctl.h> > > #include <linux/hdreg.h> > > > > int main(int argc, char *argv[]) > > { > > char cmd[4] = { 0xe1, 0, 0, 0 }; > > The "0xe1" in here is what is defined as "WIN_IDLEIMMEDIATE" in hdreg.h, > correct?
Correct.
> > int fd; > > > > if (argc < 2) { > > printf("%s <dev>\n", argv[0]); > > return 1; > > } > > > > fd = open(argv[1], O_RDONLY); > > Hmm, don't I need to actually have *write* access for sending an ioctl?
No, but you need CAP_SYS_RAWIO capability. So run it as root.
> > if (fd == -1) { > > perror("open"); > > return 1; > > } > > > > if (ioctl(fd, HDIO_DRIVE_CMD, cmd)) > > perror("ioctl"); > > > > close(fd); > > return 0; > > } > > I will give it another try, after clarifying the above questions - maybe > there is a command that will perform the desired task. If not, I guess > we're back at snooping what the Windows driver does here...
I'm not aware of a generally specificed command, it's likely that the ibm drive has a vendor specific one. Or that one of the idle commands can be configured to park the drive. Or... I'm not sure you'll find anything interesting in the windows driver, I would imagine that the user app is the one issuing the ide command (like the linux equiv would as well).
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |