[openbeos] Re: Large File Woes

  • From: François Revol <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 5 Jul 2004 23:47:22 +0200

Does cat use the FILE* funcs ?
I noticed in R5 one of them was broken:
(from my PearPC port):

FileOfs sys_ftell(SYS_FILE *file)
{
        fpos_t pos;
        int err;

// BeOS *is* 64 bits :p
// ftell and fseek use long !! whoever invented the buffered io stuff should be
slapped :^)
// _fseek does work, but not _ftell... use _fgetpos

        err = fgetpos((FILE *)file, &pos);
        if (err < 0)
                return err;
        return pos;
}

Maybe cat uses it and borks?

François.

Selon Tyler Dauwalder <tyler@xxxxxxxxxxxxx>:

> I've been working on large image support for UDF, and I've run into an 
> interesting problem. I'm trying to make a udf image of my home directory, 
> which is 5 or 6 GB large. I've done this before and created images about 
> 4GB large, but with my recent attempts, I'm getting B_DEVICE_FULL errors 
> from the operating system when I get to about 1.25GB. The device is in 
> fact, however, not full. 
> 
> I then created a test program which just writes a simple string of data 
> over and over to a given file using either open()/write() or 
> BFile()/BFile::Write(), and both versions successfully create images larger 
> than 1.25GB.
> 
> The really interesting part comes when I try to append data to the end of 
> these large files. In the listing below, home.udf is the udf image file I 
> was attempting to create with makeudfimage, bfile.udf is the random-data 
> file created via BFile, and open.udf is the random-data file created via 
> open()/write(). As you can see, I can append data to the two random-data 
> files (I killed the cat with ^C after a few seconds), but attempting to 
> append data to home.udf craps out with a B_DEVICE_FULL error (despite the 
> fact I have over 1GB free on the drive, still).
> 
> --------------------------------------------------------------
> /boot $ ll
> total 5639371
> drwxr-xr-x   1 baron    users        4096 Jul  5 13:08 apps
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 beos
> -rws--sr--   1 baron    users    1615000000 Jul  5 14:16 bfile.udf
> drwxr-xr-x   1 baron    users        2048 Jan 19 19:20 biggg
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 demos
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 develop
> drwxr-xr-x   1 baron    users        5120 Jul  5 14:13 home
> -rw-r--r--   1 baron    users    1343551488 Jul  5 13:59 home.udf
> -r-S--Sr--   1 baron    users    2816141120 Jul  5 13:59 open.udf
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 optional
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 preferences
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 var
> /boot $ cat ~/Desktop/desktop.udf >> ./bfile.udf
> 
> /boot $ cat ~/Desktop/desktop.udf >> ./open.udf
> 
> /boot $ cat ~/Desktop/desktop.udf >> ./home.udf
> /bin/cat: write error: No space left on device
> /boot $ cat ~/Desktop/desktop.udf >> ./open.udf
> 
> /boot $ ll
> total 5146677
> drwxr-xr-x   1 baron    users        4096 Jul  5 13:08 apps
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 beos
> -rws--sr--   1 baron    users    1621094848 Jul  5 14:16 bfile.udf
> drwxr-xr-x   1 baron    users        2048 Jan 19 19:20 biggg
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 demos
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 develop
> drwxr-xr-x   1 baron    users        5120 Jul  5 14:13 home
> -rw-r--r--   1 baron    users    1343551488 Jul  5 13:59 home.udf
> -r-S--Sr--   1 baron    users    2827151168 Jul  5 14:17 open.udf
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 optional
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 preferences
> drwxr-xr-x   1 baron    users        2048 Aug 24  2003 var
> /boot $                                                                     
>                                                   
> ----------------------------------------------------------------
> 
> Any ideas what the problem could be?
> 
> -Tyler
> 
> 


-- 



Other related posts: