Bug 140474 - IO's using dd, the last fragmented block fails i/o error
Summary: IO's using dd, the last fragmented block fails i/o error
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
(Show other bugs)
Version: 4.0
Hardware: All Linux
Target Milestone: ---
: ---
Assignee: Jeff Moyer
QA Contact:
Depends On:
Blocks: 146015 147461
TreeView+ depends on / blocked
Reported: 2004-11-22 23:49 UTC by sheryl sage
Modified: 2007-11-30 22:07 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-02-25 18:40:20 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description sheryl sage 2004-11-22 23:49:32 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET 
CLR 1.1.4322)

Description of problem:
When I try to do IO's using dd, the last fragmented block fails with
Input/Ouput error.
> # fdisk  -lu /dev/sdt

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
see above

Actual Results:  i/o error...

Additional info:

Verified appying the supplied patch. It is working and our test case 
passes with this change.

>  EXEC dd if=/dev/vx/rdsk/testdg/TCv1-8331 of=/dev/null bs=12288k
>    STDERR:
>        41+1 records in
>        41+1 records out

 Earlier dd used to fail:

>  EXEC dd if=/dev/vx/rdsk/testdg/TCv1-2380 of=/dev/null bs=12288k
>    STDERR:
>        dd: reading `/dev/vx/rdsk/testdg/TCv1-2380': Input/output 
>        41+0 records in
>        41+0 records out

Comment 1 sheryl sage 2004-11-22 23:50:01 UTC
To reproduce:

Disk /dev/sdt: 536 MB, 536870912 bytes
17 heads, 61 sectors/track, 1011 cylinders, total 1048576 sectors
Units = sectors of 1 * 512 = 512 bytes

> # raw /dev/raw/raw1 /dev/sdt1
/dev/raw/raw1:  bound to major 65, minor 49
> # raw -qa
/dev/raw/raw1:  bound to major 65, minor 49

> # dd if=/dev/raw/raw1 of=/dev/null bs=12288k 
dd: reading `/dev/raw/raw1': Input/output error
4+0 records in
4+0 records out

Comment 2 Bob Johnson 2004-12-06 17:19:10 UTC
Sheryl, I'm missing your patch description here.

Comment 3 sheryl sage 2004-12-09 23:46:20 UTC
Cannot provide the patch but can say that the patch should be limited 
to fixing O_DIRECT/raw path


Comment 4 sheryl sage 2004-12-14 16:26:47 UTC
Any status on this?  

Comment 5 sheryl sage 2004-12-15 19:41:10 UTC
linux-2.6.8/fs/direct-io.c  fix limited to O_DIRECT/raw path

Comment 7 Jeff Moyer 2004-12-20 19:48:41 UTC
You've implemented the patch, but are unwilling to post it?  I'm very confused.
 What am I missing here?

Comment 8 Rik van Riel 2004-12-20 20:01:11 UTC
RHEL4 does not use the 2.6.8 kernel, but I assume that the bug has
been fixed in 2.6.9 already.

Comment 10 Jay Turner 2005-01-14 14:39:02 UTC
Moving back to assigned, as doesn't appear we're waiting on information from anyone.

Comment 11 Rob Kenna 2005-01-27 21:39:05 UTC
We're trying to figure out if this has been fixed with RHEL 4 GA, since it's
based on the 2.6.9 kernel and your fix is referenced as being in 2.6.8.  Please

Comment 12 Dominick Petracca 2005-02-01 19:26:16 UTC
I'm seeing this same problem and my kernel is 
Kernel 2.6.9-1.648_ELvsmp

# dd if=/dev/vx/rdsk/tcrundg/dom of=/dev/null bs=12288k
dd: reading `/dev/vx/rdsk/tcrundg/dom': Input/output error
41+0 records in
41+0 records out

without the blocksize, it works fine.  Also works fine if I use a 

Comment 13 Dominick Petracca 2005-02-01 20:29:01 UTC
Just found out we are still using beta2 so still haven't tried this 
with GA yet...

Comment 14 Jeff Moyer 2005-02-14 21:02:03 UTC
I am unable to reproduce this with kernel-smp-2.6.9-5.EL.  Please
verify that this either does or does not work for you.

Comment 15 Dominick Petracca 2005-02-25 18:38:58 UTC
I'm no longer able to reproduce this now that I have GA installed.
This can be closed.

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