Re: File size limit exceeded with mkfs

Neil Brown (neilb@cse.unsw.edu.au)
Wed, 21 Nov 2001 10:56:05 +1100 (EST)


On Tuesday November 20, matti.aarnio@zmailer.org wrote:
> On Tue, Nov 20, 2001 at 03:29:14PM -0500, Jason Tackaberry wrote:
> > Hi Andreas,
> >
> > On Tue, 2001-11-20 at 13:33, Andreas Dilger wrote:
> ...
> > > Can you please try some intermediate kernels (2.4.10 would be a good
> > > start, because it had some major changes in this area, and then go
> > > forward and back depending whether it works or not).
> >
> > 2.4.10 does NOT work.
> > 2.4.9 DOES work.
>
> And noting that mkfs and fsck operate on block DEVICE, no such
> limits should be applied anyway. Right ?

No. 2.4.10 introduced blkdev-in-pagecache which made blockdev writes
succeptible to maximum file limits. (ulimit -f)

As a concession to backwards compatability, O_LARGEFILE is always used
when opening a block device.
Whoever ulimit still will stop you.

Some versions of libc think the file size limit is signed, so the max
you can set it to is 2^31-1.
But the kernel thinks it is unsigned, and assumes anything less than
2^32-1 is a real limit (2^32-1 is treated as "unlimited").

So if you are under the effect of default resource limits, then it
works. If some parent process has tried to set the file limit to
"unlimited" it will have inadvertantly had exactly the reverse effect.

On my Debian/potato machines, I find that I hit the limit if I login
on the console, but if I ssh in as root, it works fine.

I think Debian/woody has a new enough libc that this isn't a problem.

NeilBrown

-
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/