1. 27 Aug, 1999 1 commit
  2. 24 Aug, 1999 1 commit
  3. 09 Sep, 1998 1 commit
  4. 02 Sep, 1998 2 commits
  5. 08 May, 1998 1 commit
  6. 07 May, 1998 1 commit
    • Simon Proven's avatar
      Found a major inefficiency in the handling of file creation, closing of files... · 3744db9f
      Simon Proven authored
      Found a major inefficiency in the handling of file creation, closing of files and other uses of the NextFree function.  In the case of file creation, the problem was particularly bad on large free space maps, as the function was of order N^2 on the size of the map, when the disc was nearly full.  As the disc gets fuller, the problem gets worse; with 1400 zones in the map, N^2 is very large indeed.  This resulted in *cdir sometimes taking 1sec.
      
      Now, a new function NextFree_Quick exists which performs similarly to NextFree,
      but does not consider free spaces in zones beyond the current zone.  This
      can be used by functions which need only examine free spaces in a given zone,
      such as is the case in ClaimFreeSpace where it is stepping throigh zones to
      find a single gap large enough for the entire file.
      
      For other functions which work on a single zone, the speedup is less dramatic,
      of the order N instead of N^2.
      3744db9f
  7. 16 Apr, 1998 1 commit
  8. 02 Apr, 1998 1 commit
  9. 18 Mar, 1998 1 commit
    • Simon Proven's avatar
      Fixed parent directory handling for big dirs (was filling in the Disc part of... · 7601e7d7
      Simon Proven authored
      Fixed parent directory handling for big dirs (was filling in the Disc part of the field, which should be left as 0000s because the value of the disc changes over time).
      
      Further fix for ADFSBuffers (illegal pointer accessing) as it was found that
      the previous fix wasn't good enough.  New fix appears to work where previous
      failed.
      7601e7d7
  10. 17 Feb, 1998 1 commit
  11. 11 Feb, 1998 1 commit
    • Simon Proven's avatar
      Binary-chop dir scanning fixed. (BigLexEqv fixed so that it doesn't try to... · 799ee76e
      Simon Proven authored
      Binary-chop dir scanning fixed.  (BigLexEqv fixed so that it doesn't try to compare the dir separator '.' in eg "Default.Thing" with another object called "Default+" (was breaking binary chop dir search).
      
      Fixed IdentifyDisc (s.Identify); old behaviour left the RootDir field
      invalid (the disc bits were an external drive number, instead of an
      internal disc number).  This causes problems if the disc fails to mount
      due to, for example, memory problems, as the illegal value never gets
      fixed (normally, MountDiscOnDrive would end up correcting the problem).
      799ee76e
  12. 30 Jan, 1998 1 commit
    • Simon Proven's avatar
      Two bugs fixed: · 95f9b5b6
      Simon Proven authored
      1) Fixed ReallyShared so that it doesn't omit to check the first
         object in the directory being scanned.
      
      2) Fixed a long-standing ADFSBuffers problem.  This involves the
         UpdateBufState function attempting to attach a buffer as the
         Older or Younger buffer of the previous or next buffer in a
         file respectively.  Unfortunately, if there's only one buffer
         for a file, then it may attempt to attach it to the file
         control block - which is wrong.  Modified UpdateBufState to
         only attempt this when there are more than one objects in
         the chain.  Note:  there still may be problems in certain
         cases; this may need further looking into.
      
         This problem probably doesn't occur without long file names
         support enabled, because the fcb's contents look different
         then (name field is 10 chars instead of 256) so the problem
         is less likely to occur accidentally.
      95f9b5b6
  13. 23 Jan, 1998 1 commit
    • Simon Proven's avatar
      Fixed: · bd530bc8
      Simon Proven authored
      DoOsFunRenameBigDir to work when renaming a shared file between dirs where
      the file ends up as the last object in the target dir.
      
      SanityCheckEDiscRecord to allow idlen>15 when DiscVersion=0
      
      GrowBigDir to round up desired size to a multiple of the disc allocation
      size.
      
      Also:
      
      Implemented non-working code to write cache the dir buffer.  WriteCacheDir
      compile switch set to FALSE in s.DebugOpts.  Don't set it to TRUE unless
      I tell you it's working.
      
      Made SortDir not attempt to sort more than 2047 entries in a dir, to
      avoid it overflowing ScratchSpace.
      
      Made SortPair do one extra shell on the sort (makes it more efficient).
      bd530bc8
  14. 19 Jan, 1998 1 commit
  15. 09 Jan, 1998 1 commit
  16. 11 Dec, 1997 1 commit
  17. 01 Dec, 1997 1 commit
  18. 17 Nov, 1997 1 commit
  19. 16 Sep, 1997 1 commit
  20. 14 Aug, 1997 1 commit
    • Simon Proven's avatar
      Changes made to FileCore to support allowing idlen more than 15. This allows... · 98b5d219
      Simon Proven authored
      Changes made to FileCore to support allowing idlen more than 15.  This allows smaller LFAUs on discs.  The changes are not yet complete.  In particular, the number of disc zones is limited to 255.  Some development testing has been peformed, and the filing system is generally stable.  Areas which haven't been fully tested include things like *Defect, FileCore_LayoutStructure,
      
      FileCore_FloppyStructure, and the FileSwitch APIs for reading and examining
      a disc's used space.
      
      This version should not be used for any OS Builds with the BigMaps flag set
      to true.  It should build as a normal version of FileCore with BigMaps and
      BigDirs set to false.
      98b5d219
  21. 21 Jan, 1997 1 commit
  22. 06 Jan, 1997 1 commit
  23. 16 Dec, 1996 1 commit
  24. 21 Nov, 1996 4 commits
  25. 06 Nov, 1996 2 commits
  26. 05 Nov, 1996 2 commits