Not sure, but makeudfimage is using BFile, which ought not be broken. -Tyler On 2004-07-05 at 14:47:22 [-0700], François Revol wrote: > 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 > > >