Bug 1099892

Summary: mke2fs on i686 now fails with "Value too large for defined data type"
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: e2fsprogsAssignee: Eric Sandeen <esandeen>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: esandeen, josef, kzak, oliver
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-21 13:50:26 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 910269    

Description Richard W.M. Jones 2014-05-21 08:22:06 EDT
Description of problem:

mke2fs on Rawhide (but not Fedora 20) has started to fail on i686
with:

/usr/sbin/mke2fs -t ext2 -Fq '/tmp/tmp.8XawRF2EgH/d2.0ryxonke/root
Could not open /tmp/tmp.8XawRF2EgH/d2.0ryxonke/root: Value too large for defined data type

The size of the file is 4GB exactly.

This FAQ suggests that this error is because the utility has
been compiled incorrectly:
https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Value-too-large-for-defined-data-type

Note that this does not fail on x86-64, nor on Fedora 20, nor
on earlier versions of Rawhide.  The failure has started in the
last few days.

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

e2fsprogs-1.42.10-1.fc21.i686

How reproducible:

Unknown.

Steps to Reproduce:
1. Create 4GB file.
2. mke2fs -t ext2 -Fq file

Additional info:

The full log is here:
http://kojipkgs.fedoraproject.org//work/tasks/614/6870614/build.log
Comment 1 Eric Sandeen 2014-05-21 12:04:14 EDT
Cripes, did e2fsprogs lose -D_FILE_OFFSET_BITS=64 / O_LARGEFILE stuff?  Bleah, I'll look into it.
Comment 2 Eric Sandeen 2014-05-21 13:22:20 EDT
It's a regression, this should fix it.

diff --git a/misc/util.c b/misc/util.c
index f85942e..da98d00 100644
--- a/misc/util.c
+++ b/misc/util.c
@@ -89,7 +89,7 @@ int check_plausibility(const char *device, int flags, int *ret_is_dev)
 {
 	int fd, is_dev = 0;
 	ext2fs_struct_stat s;
-	int fl = O_RDONLY;
+	int fl = O_RDONLY|O_LARGEFILE;
 
 	if (flags & CREATE_FILE)
 		fl |= O_CREAT;
Comment 3 Eric Sandeen 2014-05-21 13:50:26 EDT
actually, using ext2fs_open_file() is probably better.

Anyway, fix building for rawhide.

Thanks for the report!

-Eric
Comment 4 Richard W.M. Jones 2014-05-21 14:46:39 EDT
I have verified this fixes the problem for me, thanks.
Comment 5 Richard W.M. Jones 2014-07-13 08:19:17 EDT
Same thing recently affected Debian:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754614

For reference the commit that fixes this is:

https://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?id=a7b0f770b0f3f058ff1682beba5a78def91e91a7