Note that it has *nothing* to do with the device I'm trying to mkfs
being over 2GB!  Once I start experiencing this, I've had *any* device
that I try to mkfs error out with SIGXFSZ until I rebooted.  (Usually,
of course.  I hate bugs that aren't consistent....)
I know I've seen this with at least stock 2.4.10, 2.4.13 and 2.4.14 and
also 2.4.10 and 2.4.14 with XFS patches.  There may have been other
earlier versions in there were I ran into it but ignored it or
overlooked it.  All our boxes here at work are more-or-less stock Debian
2.2 with upgraded modutils to support running 2.4 kernels.
I don't have any particular correlation between hardware except that all
of them have had IDE drives in them so my only real suspicion is some
bizarrity in the IDE drivers.
I've got a machine that's experiencing this problem right now and I've
done "strace" on both mke2fs and mkreiserfs to see what the results
would be and it's a little wierd and beyond my interpretation
capabilities.  Here are the last few lines from both of those straces:
mke2fs.strace:
lseek(4, 2015346688, SEEK_SET)          = 2015346688
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
32768) = 32768
lseek(4, 2015379456, SEEK_SET)          = 2015379456
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
4096) = 4096
write(1, "\10\10\10\10\10", 5)          = 5
write(1, "16/72", 5)                    = 5
_llseek(4, 18446744071562084352, [2147500032], SEEK_SET) = 0
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
32768) = -1 EFBIG (File too large)
--- SIGXFSZ (File size limit exceeded) ---
+++ killed by SIGXFSZ +++
mkreiserfs.strace:
_llseek(4, 1744830464, [1744830464], SEEK_SET) = 0
write(4, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
4096) = 4096
_llseek(4, 1879048192, [1879048192], SEEK_SET) = 0
write(4, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
4096) = 4096
_llseek(4, 2013265920, [2013265920], SEEK_SET) = 0
write(4, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
4096) = 4096
_llseek(4, 18446744071562067968, [2147483648], SEEK_SET) = 0
write(4, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
4096) = -1 EFBIG (File too large)
--- SIGXFSZ (File size limit exceeded) ---
+++ killed by SIGXFSZ +++
And this is the output of "sfdisk -l" for that box:
# sfdisk -l
Disk /dev/hda: 1655 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from
0
   Device Boot Start     End   #cyls   #blocks   Id  System
/dev/hda1          0+     32      33-   265072   83  Linux
/dev/hda2         33      98      66    530145   82  Linux swap
/dev/hda3         99     164      66    530145   83  Linux
/dev/hda4        165    1654    1490  11968425    5  Extended
/dev/hda5        165+    413     249-  2000092   83  Linux
/dev/hda6        414+    479      66-   530144+  83  Linux
/dev/hda7        480+   1654    1175-  9438187   83  Linux
Now it looks to me that in both cases, the mkfs is trying to seek well
beyond the end of the device for some reason. Except that the drive
isn't anything unusual - it's a 13GB Maxtor 91360U4 and the IDE
interface is reported as "VIA vt82c596a (rev 09) IDE UDMA33 controller
on pci00:07.1" which the VIA line of controllers has generally been very
well supported under Linux, in my experience.  Plus, as I said, I've
seen this on a number of boxen with different drives and IDE controllers
in them, so I don't see it being particular to a specific drive or
controller.
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 
usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \
    | extract_mpeg2 | mpeg2dec - 
         http://www.cs.cmu.edu/~dst/DeCSS/Gallery/
http://www.eff.org/                   http://www.anti-dmca.org/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/