Deleting a lot of data results in "beta warning #1" requeste
Brought to you by:
michielp
Deleting a lot of data (IIRC about 1GB with current RTBF_CACHE_SIZE ) results in a "beta warning #1" requester and the filesystem ceasing to function until a reboot.
This appears to be related to RTBF_CACHE_SIZE in ResToBeFreed function. Raising the RTBF_CACHE_SIZE to a larger value works as a stop gap measure to avoid the issue. A proper fix for this would be desirable, however.
Interesting: this bug had been fixed before. In the 5.1 release notes it says
> 'Beta Warning 1 bug'. This error could occur when a large number
of files was changed at once, e.g. setting the archive bit on all
files of the disk.
It happens with the PFS 5.3 (18.5) version for me. It is reproducable every time.
This bug exists in the current version as well (tested 17.3.2012). it's easy to reproduce by deleting the required amount of files.
I looked into this. I believe UpdateDisk will fail if there are ton of blocks to be freed. The culprit likely are:
RemoveEmptyDBlocks(volume, g);
RemoveEmptyABlocks(volume, g);
RemoveEmptyIBlocks(volume, g);
RemoveEmptySBlocks(volume, g);
Fixed in svn (revision 132). Since the maximum number of freed blocks can vary greatly and I could not see any obvious way to make sure it can't overflow like it did, I decided to make the array grow dynamically as needed. Not the prettiest fix, but it's bulletproof now.