[openbeos] Large File Woes

  • From: Tyler Dauwalder <tyler@xxxxxxxxxxxxx>
  • To: OpenBeOS <openbeos@xxxxxxxxxxxxx>
  • Date: Mon, 05 Jul 2004 14:38:22 -0700

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: