Bug 478881 - /sbin/kmodule causes tapes to rewind causing data corruption
Summary: /sbin/kmodule causes tapes to rewind causing data corruption
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: initscripts
Version: 4.7
Hardware: All
OS: Linux
low
urgent
Target Milestone: rc
: ---
Assignee: initscripts Maintenance Team
QA Contact: BaseOS QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-05 20:21 UTC by Brian Parks (Quantum Corp)
Modified: 2009-05-18 20:27 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-18 20:27:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:1000 0 normal SHIPPED_LIVE initscripts bug fix update 2009-05-18 14:06:31 UTC

Description Brian Parks (Quantum Corp) 2009-01-05 20:21:43 UTC
Description of problem:
/sbin/kmodule links with libkudzu.a which contains a bug (RedHat bug # 468680) that may cause tapes to rewind. Specifically, libkudzu.a contains a routine that opens the rewind-on-close tape device (/dev/st<x>) when obtaining drive information instead of opening the no-rewind tape device (/dev/nst<x>). 

Once bug #468680 is fixed, this /sbin/kmodule problem will also be fixed once "kmodule" is linked with the fixed kudzu library. It is necessary to confirm that the relinked /sbin/kmodule is included in the same release as the fix for bug #468680.


Version-Release number of selected component (if applicable):
All versions of RedHat Enterprise Linux 4 including update 7.


How reproducible:
100% if the tape device appears in the first block read from /proc/scsi/scsi
(see "Additional info" below)

Steps to Reproduce:
1. insert a tape in a drive
2. position tape past BOT, e.g. "mt -f /dev/nst0 fsr 1"
3. run /sbin/kmodule
4. check tape status, e.g. "mt -f /dev/nst0 status"

  
Actual results:
Tape is at BOT


Expected results:
Tape position should remain unchanged.

Additional info:
Sometimes all tape drives are not seen by kudzu. When reading /proc/scsi/scsi
on RedHat Enterprise Linux 4, sometimes the buffer is not entirely filled even
though there is more data to be read.

For example, "dd if=/proc/scsi/scsi of=/tmp/proc_scsi_scsi.txt bs=16k count=1"
may return 3968 bytes while "dd if=/proc/scsi/scsi of=/tmp/proc_scsi_scsi.txt
bs=16k count=2" returns 6970 bytes (the entire contents of /proc/scsi/scsi").

Because of this, kudzu may only read the first 3968 bytes and not see any tape
drives thereafter.

Problem does not seem to exist in RedHat Enterprise Linux 5.

Comment 1 Bill Nottingham 2009-01-05 20:29:08 UTC
Simply requires rebuilding against the kudzu fix for bug 468680.

Comment 6 errata-xmlrpc 2009-05-18 20:27:47 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-1000.html


Note You need to log in before you can comment on or make changes to this bug.