Welcome, Guest. Please login or register.

Author Topic: filesystem for large files?  (Read 972 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline orangeTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2003
  • Posts: 2796
    • Show only replies by orange
filesystem for large files?
« on: December 15, 2016, 11:14:41 AM »
Is there a filesystem for OS3.x that can handle files bigger than 2Gb?
Better sorry than worry.
 

Offline vince_6

Re: filesystem for large files?
« Reply #1 on: December 15, 2016, 01:30:59 PM »
For my Amigas 020/030 I use 3.1 with patched SCSI device and SFS.
My BBS : flashbackbbs.sytes.net:6502
http://partsfromthepast.blogspot.gr/ A1200 Black Project
 

Offline olsen

Re: filesystem for large files?
« Reply #2 on: December 15, 2016, 01:39:15 PM »
Quote from: orange;817747
Is there a filesystem for OS3.x that can handle files bigger than 2Gb?
Yes, there is. As long as you use the FFS version and its corresponding scsi.device which are suitable for media > 4 GBytes then you should be able to store and retrieve data from files > 2 GBytes.

Please note that there is a world of a difference between "works" and "works well". Performance will suffer rapidly and greatly the larger the files become. The same factors at work will definitely impact performance on volumes larger than 2 GBytes.

Once you cross the 2 GByte file size mark, random access to the portions of the file beyond the 2 GByte mark will no longer work robustly (the FFS cannot tell the difference between a relative negative file position and an absolute file position beyond the 2 GByte mark). You can still read files sequentially and you can still append data to files that large, too. Provided the volume is large enough, the FFS can handle files of almost arbitrary size.

Beyond the 2 GByte mark, and especially the 4 GByte mark, file sizes will be reported incorrectly, but the FFS will still keep track of where the data is. The data beyond the 2 GByte/4 GByte mark is still there and accessible (you just have to seek there in increments < 2 GBytes).

The amount of free disk space will probably be reported incorrectly if the volume is larger than 2 GBytes and more than 2 GBytes of space are used. The file system reports this as the number of blocks available, and any incorrect byte figures reported are likely the fault of the program calculating 32 bit values from the factors involved.

There is one thing worth watching, though, because the FFS may not detect that it has reached its implementation limit: the number of blocks used by the FFS should not exceed 2,147,483,647 because then it may no longer be able to keep track of how many blocks are still free for allocation (the signed 32 bit integer holding this information will hold a negative number). This limit can be worked around by using a larger block size, e.g. 1024, 2048 or 4096 bytes per block, if needed. If you stick to 512 bytes per block, then this 2,147,483,647 block limit will still allow for volumes to span 1 TByte. At 2048 bytes per block this limit will rise to 4 TBytes, and at 65536 bytes per block you'll crack the 127 TByte limit. Please note that the API used by scsi.device and FFS will not extend beyond about 9 Exabytes.

Word of warning: you'll probably lose all respect for the FFS, the Amiga, humanity and the cosmos itself if you tried to use it on volumes larger than 2 GBytes long before you will have run out of disk space ;)
« Last Edit: December 15, 2016, 01:51:45 PM by olsen »