Bug 646498

Summary: [6.0] write system call returns with 0 when it should return with EFBIG.
Product: Red Hat Enterprise Linux 6 Reporter: Debbie Johnson <dejohnso>
Component: kernelAssignee: Eric Sandeen <esandeen>
Status: CLOSED ERRATA QA Contact: Petr Beňas <pbenas>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0CC: jwest, kzhang, ndoane, pbenas, pstehlik
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: kernel-2.6.32-91.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 703094 (view as bug list) Environment:
Last Closed: 2011-05-23 20:27:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 703094    

Description Debbie Johnson 2010-10-25 13:46:39 UTC
Description of problem:
[6.0] write system call returns with 0 when it should return with EFBIG.

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

How reproducible:


By running the following reproducer(Step to Reproduce), we can confirm that the
write system call returns with 0 when it should return the error EFBIG.

This fix is already included in 2.6.36-rc1.
(http://marc.info/?l=git-commits-head&m=128121851624648&w=2)
Please apply it.

Version-Release number of selected component:
Red Hat Enterprise Linux Version Number: RHEL6
Release Number: 6.0rc
Architecture: x86_64
Kernel Version: 2.6.32-71.el6
Related Package Version: kernel
Related Middleware / Application: None 

Step to Reproduce:
-------------------------------------------------------------------------------
#!/bin/sh

/bin/dd if=/dev/zero of=./img bs=1k count=1 seek=1024k > /dev/null 2>&1
/sbin/mkfs.ext3 -Fq ./img
/bin/mount -o loop -t ext4 ./img /mnt
/bin/touch /mnt/file
/usr/bin/strace /bin/dd if=/dev/zero of=/mnt/file conv=notrunc bs=1k count=1 \
seek=$((2194719883264/1024)) 2>&1 | /bin/egrep "write.* 1024\) = "
/bin/umount /mnt
exit
-------------------------------------------------------------------------------
Run this script.

Actual Results:
write system call returns with 0 in this case.

Expected Results:
write system call returns with EFBIG in this case.

Comment 2 Eric Sandeen 2010-11-22 19:39:12 UTC
Just as a general note, using the ext4 driver for ext3 filesystems in RHEL6 is not recommended.  We can fix this, but it's not the preferred mode of operation.

Comment 3 Eric Sandeen 2010-11-22 19:49:25 UTC
Upstream commit:

commit d889dc8382c4d71b6d538b7b13777bc1ec51df10
Author: Toshiyuki Okajima <toshi.okajima.com>
Date:   Tue Jul 27 11:56:07 2010 -0400

    ext4: fix EFBIG edge case when writing to large non-extent file
    
    By running the following reproducer, we can confirm that the write
    system call returns with 0 when it should return the error EFBIG.
    
    #!/bin/sh
    
    /bin/dd if=/dev/zero of=./img bs=1k count=1 seek=1024k > /dev/null 2>&1
    /sbin/mkfs.ext3 -Fq ./img
    /bin/mount -o loop -t ext4 ./img /mnt
    /bin/touch /mnt/file
    strace /bin/dd if=/dev/zero of=/mnt/file conv=notrunc bs=1k count=1 seek=$((2194719883264/1024)) 2>&1 | /bin/egrep "w
    /bin/umount /mnt
    exit
    
    Signed-off-by: Toshiyuki Okajima <toshi.okajima.com>
    Signed-off-by: "Theodore Ts'o" <tytso>
    Cc: Eric Sandeen <sandeen>

Comment 5 RHEL Program Management 2010-11-23 18:49:27 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.

Comment 6 Aristeu Rozanski 2010-12-15 16:06:19 UTC
Patch(es) available on kernel-2.6.32-91.el6

Comment 10 Petr Beňas 2011-01-19 13:47:11 UTC
Reproduced in 2.6.32-90.el6 and verified in 2.6.32-91.el6.

Comment 12 errata-xmlrpc 2011-05-23 20:27:24 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/RHSA-2011-0542.html