From Alan Cox: Looks like libata needs to enforce sensible minimum timeouts on SG_IO requests otherwise the code below (especially run ten at a time) which I was using to try and duplicate the kerneloops logged errors produces long spews of errors and forces the drives into PIO run as any user..
Consensus is to enforce a minimum 7 second timeout (which is the timeout windoze uses for general commands on ATA). You need to be able to open the cdrom device (i.e. login as a normal user from the console and then access it via ssh) or access to /dev/sg* which is root only in all sane systems.
Upstream patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2f1fa78a155524b849edf359e42a3001ea652c0
Created attachment 326257 [details] Upstream patch
This issue has been addressed in following products: Red Hat Enterprise Linux 4 Via RHSA-2009:0331 http://rhn.redhat.com/errata/RHSA-2009:0331.html
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Via RHSA-2009:0326 https://rhn.redhat.com/errata/RHSA-2009-0326.html
This was also addressed via: MRG Realtime for RHEL 5 Server (RHSA-2009:0053)