2003-01-27 00:32:50

by David Ashley

[permalink] [raw]
Subject: Re: Serious filesystem bug in linux [nevermind]

>On Sun, Jan 26, 2003 at 03:18:49PM -0800, David Ashley wrote:
>
>> -rw-r--r-- 1 root root 1965107636224 Jan 26 14:59 output1.iso
>
>You know about the Unix concept of files with holes?

No, but I can look into it. There is definitely some bug in my program
but I wouldn't expect this behaviour. So if I seek way the hell out
to nowhere, do a write, I'll have a file of the total amount I've skipped
over?

I just wrote a test program and it did exactly this. Thanks!

Here is the program
#define _LARGEFILE64_SOURCE
#include <fcntl.h>
#include <unistd.h>

main()
{
int fd;
char buff[32];
fd=open("/tmp/crazybigfile",O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE,0644);
lseek64(fd,1000000000000ll,SEEK_SET);
write(fd,buff,32);
close(fd);

}

Live and learn. Sorry for the alarm!

-Dave