Ferret File System/v0.1/process
< Ferret File System | v0.1
Jump to navigation
Jump to search
Scanning a Volume
When given a volume to scan, here's what happens:
- For every entry record in that volume:
- Clear the "didFind" flag. (These get set as entries are found during the scan.)
- Set the "didSeek" flag. (Indicates entries that existed before this scan.)
- Read the directory at the volume's URL.
- For each item found, do "Each Entry" below. (This maps the volume.)
Each Entry
- Look for a matching entry.
- If entry does not exist, create it.
- Log that the entry was found, and whether it was new or existing.
- If it was an existing entry, log any changes in the specs (timestamps, size).
- If Entry is a File, do "Each File" below.
- If Entry is a Folder, do "Each Folder" below.
Each File
- Check the firev to see if it matches.
- If not, create a new firev and updates the file's ID_Firev.
- Log whether the firev has changed or not.
Each Folder
- If folder is new:
- Check name against text blacklist.
- If found:
- Mark it "noScan" when creating.
- Add a note which includes the matching blacklist line.
- If "noScan" is set:
- log that it was not scanned ("noScan" is currently the only possible reason for this).
- ...else...
- do "Each Entry" above for each entry in the folder's directory.