473,668 Members | 2,312 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

File Size Limit Exceeded - How to handle work around this?

I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Is this a compiler issue? I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).

Thanks in advance!

Dec 13 '06 #1
9 11348
In article <11************ *********@79g20 00cws.googlegro ups.com>,
eastcoastguyz <ea***********@ hotmail.comwrot e:
>I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.
>Is this a compiler issue?
Probably not.
>I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).
It is probably an operating system limitation (or a disk quota
limitation). ulimit (which is not part of C) with -a set to
unlimited, just means that the operating system will allow you to
write files as big as is supported by that particular file system.

Whether your operating system supports larger files at all would
be OS specific, as would be any special means to create such files.
This is a matter that should be taken to a resource that deals
with your specific OS. It is -possible- that they will tell you
there to change some flags to your compiles, but that would be
for deep OS implementation reasons, not for reasons directly related
to standard C.
--
If you lie to the compiler, it will get its revenge. -- Henry Spencer
Dec 14 '06 #2

eastcoastguyz wrote:
I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Is this a compiler issue? I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).

Thanks in advance!
Write the file in blocks and maintain your own chain or use a database,
which will already have done that

Dec 14 '06 #3
I forgot to mention, the OS is Linux with the latest version of CentOS
using 'cc'.

eastcoastguyz wrote:
I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Is this a compiler issue? I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).

Thanks in advance!
Dec 14 '06 #4
I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Is this a compiler issue? I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).
It's been a long time, though, so this advice may be dated.

A long time ago, when the Linux 2.4 kernel was new (i.e., when 64-bit
file sizes were just starting to catch on), we used to have this same
problem. Back then, you had to compile with some special symbol
defined, LARGE_FILES or something like that. That caused the typical
file size types (offset_t and the like) to be 64 bit. You might find
something like that in the compiler documentation.

Of course, to narrow it to OS or C, you could have your program write
to stdout and redirect to a file. If it still doesn't work, you have
an OS problem. And if it isn't C, it could be your OS kernel, or your
shell, or your filesystem (e.g., NFS) that has some kind of limit in
it.

Michael

Dec 14 '06 #5

Michael wrote:
I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Is this a compiler issue? I would like to see a C code example of how
to increase the limit or make it unlimited (if that is a wise thing to
do).

It's been a long time, though, so this advice may be dated.

A long time ago, when the Linux 2.4 kernel was new (i.e., when 64-bit
file sizes were just starting to catch on), we used to have this same
problem. Back then, you had to compile with some special symbol
defined, LARGE_FILES or something like that. That caused the typical
file size types (offset_t and the like) to be 64 bit. You might find
something like that in the compiler documentation.

Of course, to narrow it to OS or C, you could have your program write
to stdout and redirect to a file. If it still doesn't work, you have
an OS problem. And if it isn't C, it could be your OS kernel, or your
shell, or your filesystem (e.g., NFS) that has some kind of limit in
it.

Michael
Thanks for the suggestion. I made another version of this C program,
where it writes to standard output and piped the output to a file. It
had no problem creating a file size over 3GB, exceeding the 2GB limit I
encountered.
This system is using gcc version 3.4.6 20060404 (Red Hat 3.4.6-3) which
is what came with the latest version of CentOS. The kernel is:
[root@localhost proc]# cat /proc/version
Linux version 2.6.9-42.0.3.EL (buildsvn@build-i386) (gcc version 3.4.6
20060404

Dec 14 '06 #6
Hello,
I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.
Try to compile your program with the following flags:
-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS 64

HTH,
Loic.

Dec 14 '06 #7


On Wed, 13 Dec 2006, lo******@gmx.ne t wrote:
Hello,
>>>I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.

Try to compile your program with the following flags:
-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS 64
Probably he meant:

-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS=64
Dec 14 '06 #8

Kohn Emil Dan wrote:
On Wed, 13 Dec 2006, lo******@gmx.ne t wrote:
Hello,
>>I wrote a simple program to continue to create a very large file (on
purpose), and even though there is plenty of disk space on that device
the program aborted with the error message "File Size Limit Exceeded".
The file size was 2147483647. I checked ulimit -a and its set to
unlimited.
Try to compile your program with the following flags:
-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS 64

Probably he meant:

-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS=64
Yes! This worked. Thanks to everyone who posted in response to my
request for help.

Does anyone know if it is required to do these compiler options
regardless of the hardware the same OS runs on? Thanks!

Dec 14 '06 #9
eastcoastguyz wrote:
Kohn Emil Dan wrote:
>On Wed, 13 Dec 2006, lo******@gmx.ne t wrote:
>>Hello,

>I wrote a simple program to continue to create a very large file (on
>purpose) , and even though there is plenty of disk space on that device
>the program aborted with the error message "File Size Limit Exceeded".
>The file size was 2147483647. I checked ulimit -a and its set to
>unlimite d.
Try to compile your program with the following flags:
-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS 64
Probably he meant:

-D_LARGEFILE_SOU RCE -D_LARGEFILE64_S OURCE -D_FILE_OFFSET_B ITS=64

Yes! This worked. Thanks to everyone who posted in response to my
request for help.

Does anyone know if it is required to do these compiler options
regardless of the hardware the same OS runs on? Thanks!
<OT>
I think the only macro you need defined is _GNU_SOURCE which will
enable a number of macros and the ...LARGEFILE64. .. ones are
among them. I think this is the preferred way to do this. I
couldn't find _GNU_SOURCE in my header files on 64 bit Gentoo
</OT>
but it may be because I didn't pay too much attention. You
shouldn't have posted the question here and you should not
consider advices received from this group. The standard C doesn't
know about 64 vs 32 bit, files larger than 2 GB or specific
extensions. This is a question for a group that deals with the
combination of compiler/OS that you're using.

--
Ioan - Ciprian Tandau
tandau _at_ freeshell _dot_ org (hope it's not too late)
(... and that it still works...)
Dec 14 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
4062
by: Michael Ferrier | last post by:
Hello, I have a Php program made up of a small script "A.php" that includes a large script "B.php". This program runs fine on dozens of web servers, but fails with no error message on one particular server. What fails is the "include" line in A.php that includes B.php. To try to isolate the problem, I cut out different parts of B.php... what I found is that it doesn't matter what particular sections I leave in and what I remove; what...
1
3210
by: guru.slt | last post by:
my c program fails to write file that is bigger than 2G bytes. I used gcc compiler. After writing for a while, It says: "filesize limit exceed". How to solve this? But, if I compile the c code by "c++", then it can write more than 2G bytes in a file. Where is the problem for "gcc"? the code is here: --------------------------- #include <stdio.h>
2
6034
by: steve | last post by:
I am setting up a huge database in mysql, and I get the above error in Linux. I believe it is related to the size of one of my tables, which is 4,294,966,772 bytes in size. Can someone help. How can I break that barrier. A google search did not turn up anything useful. -- Posted using the http://www.dbforumz.com interface, at author's request Articles individually checked for conformance to usenet standards
0
1301
by: Daniel | last post by:
Is this a bug in .net file io? is there a work around? when writing a large file with using(StreamWriter ... if the network drive of the share is removed then the file is never closed. I tried doing the using clause, i tried both close and closehandle in the finaly clause. in all cases if a large file is being written to a network drive and the network drive is disconnected the file handle remains open. when i try to close, dispose, or...
8
18750
by: Peter Ballard | last post by:
Hi all, I've got a C program which outputs all its data using a statement of the form: putchar(ch, outfile); This has worked fine for years until it had to output more than 2GB of data today, and I got a "file size limit exceeded" error.
1
2436
by: Amod | last post by:
Hi, I m copying data from a video stream on the hard disk using a C++ programme in win32 API. my current file system is FAT32 .. the file size limit of FAT32 is 4GB. I want to automatically split the file if the file size is greater than 4GB and create a new file with the incoming data. How can I perform the above task . Please guide me. Regards, Amod
1
1653
by: Amod | last post by:
Hi, I m copying data from a video stream on the hard disk using a C++ programme in win32 API. my current file system is FAT32 .. the file size limit of FAT32 is 4GB. I want to automatically split the file if the file size is greater than 4GB and create a new file with the incoming data. How can I perform the above task . Please guide me. Regards, Amod
5
2135
by: bobh | last post by:
HI, I understand AccessXP file size has a 2 gig limit but I trying to understand the following I have a tab delimited data file that is 1.3 gigs big and I try to import it into an empty AccessXP database and it starts to import then stops, I look at the database size and it shows 1.99 gigs. AccessXP blots to almost twice the size of the import file??? is that
0
1542
by: gdetre | last post by:
Dear all, I'm trying to get a large, machine-generated regular expression (many thousands of characters) to work in Python on a Mac (running Leopard), and I keep banging my head against this brick wall: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/greg/elisp/freex/freex_sqlalchemy.py", line 715, in update_implicit_link_regexp_temp
0
8459
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8890
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8791
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8577
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8653
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7398
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4202
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2786
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2018
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.