05-28-2009
Can't create file bigger than 2GB with my application
Hi,
I've created a simple application that is supposed to fill up a file with messages up
to the size I pass as parameter.
The problem is that once the file reaches the 2GB size, it stops growing.
The flow of the application, for what is worth, is as follows:
while ( bytes written < bytes wanted )
create message;
fwrite message;
free message;
At first I thought it was something related to some default limit of the file system (perhaps some obscure ubuntu configuration), so I tried with dd but I managed to create a 7GB file.
I then realized that I was passing the size as a parameter in bytes `expr 1024 * 1024 * 1024 * 4` which was converted with atoi and assigned to an int variable, so I thought that was problem. I decided to manually set the size internally using an unit64_t variable set to 4GB, but the result is the same.
I also tried to attach to the process with gdb once the size of 2147483647 bytes was reached but the flow was just normal (althought I don't check the return value of fwrite).
Can somebody shine some light on this one?
Thanks,
S.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am working on HP-Unix.
I have a 600 MB file in compressed form.
During decompression, when file size reaches
2GB, decompression aborts.
What should be done? (3 Replies)
Discussion started by: Nadeem Mistry
3 Replies
2. Programming
My C++ program returns 'Disk Full' Message when I tried to manage a file larger than 2Gb. the process is very simple: based on a TXT file, the process combine the information generating another temporary file (generating the error) to fillup a database.
My FS, during the process, reaches 40%...... (4 Replies)
Discussion started by: ASOliveira
4 Replies
3. Solaris
Hi
I am using SUN/Solaris 9 and I was told that some unix versions have 2GB size limit.
Does this applies to SUN/Solaris 9?
Thanks. (2 Replies)
Discussion started by: GMMike
2 Replies
4. Shell Programming and Scripting
Can an expert kindly write an efficient Linux ksh script that will split a large 2 GB text file into two?
Here is a couple of sample record from that text file:
"field1","field2","field3",11,22,33,44
"TG","field2b","field3b",1,2,3,4
The above rows are delimited by commas.
This script is to... (2 Replies)
Discussion started by: ihot
2 Replies
5. UNIX for Dummies Questions & Answers
Hi All,
We are running HP rp7400 box with hpux 11iv1.
Recently, we changed 3 kernel parameters
a) msgseg from 32560 to 32767
b) msgmnb from 65536 to 65535
c) msgssz from 128 to 256
Then we noticed that all application debug file size increase upto 2GB then it stops. So far we did not... (1 Reply)
Discussion started by: mhbd
1 Replies
6. AIX
I am trying to execute a database dump to a file, but can't seem to get around the 2GB file size. I have tried setting the user limit to -1, but no luck. (4 Replies)
Discussion started by: markper
4 Replies
7. Linux
I am not able to unzip file greater then 2gb,
Any suggestions how to do that in linux?
Regards,
Manoj (5 Replies)
Discussion started by: manoj.solaris
5 Replies
8. UNIX for Advanced & Expert Users
Hi,
I am executing a SQL query and the output is more than 2GB. Hence the process is failing. How can I have a file created more than 2GB ?
Thanks,
Risshanth (1 Reply)
Discussion started by: risshanth
1 Replies
9. HP-UX
Greetings,
I'm attempting to dump a filesystem from a RHEL5 Linux server to a VXFS filesystem on an HP-UX server. The VXFS filesystem is large file enabled and I've confirmed that I can copy/scp a file >2GB to the filesystem.
# fsadm -F vxfs /os_dumps
largefiles
# mkfs -F vxfs -m... (12 Replies)
Discussion started by: bkimura
12 Replies
10. UNIX for Dummies Questions & Answers
Hi ,
I wants to create the bash script for deleting the specified 2gb file and wants to take the backup before doing that.
please help me how to do the same,I use RHEL5 server (22 Replies)
Discussion started by: Rahulne25
22 Replies
fwrite(3C) Standard C Library Functions fwrite(3C)
NAME
fwrite - binary output
SYNOPSIS
#include <stdio.h>
size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream);
DESCRIPTION
The fwrite() function writes, from the array pointed to by ptr, up to nitems elements whose size is specified by size, to the stream
pointed to by stream. For each object, size calls are made to the fputc(3C) function, taking the values (in order) from an array of
unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) is advanced by the number of bytes
successfully written. If an error occurs, the resulting value of the file-position indicator for the stream is unspecified.
The st_ctime and st_mtime fields of the file will be marked for update between the successful execution of fwrite() and the next successful
completion of a call to fflush(3C) or fclose(3C) on the same stream or a call to exit(2) or abort(3C).
RETURN VALUES
The fwrite() function returns the number of elements successfully written, which might be less than nitems if a write error is encountered.
If size or nitems is 0, fwrite() returns 0 and the state of the stream remains unchanged. Otherwise, if a write error occurs, the error
indicator for the stream is set and errno is set to indicate the error.
ERRORS
Refer to fputc(3C).
USAGE
Because of possible differences in element length and byte ordering, files written using fwrite() are application-dependent, and possibly
cannot be read using fread(3C) by a different application or by the same application on a different processor.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
write(2), fclose(3C), ferror(3C), fopen(3C), fread(3C), getc(3C), gets(3C), printf(3C), putc(3C), puts(3C), attributes(5), standards(5)
SunOS 5.10 24 Jul 2002 fwrite(3C)