forked from thess/mfstools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
84 lines (77 loc) · 2.87 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Version 3.0
MFS Lib
*DONE* Ability to open a truncated MFS volume (Bad 2nd drive case)
*DONE* Function to manipulate MFS allocation bitmap (Allocate new space)
*DONE* Remove dependency on environment variables
*DONE*Backup format
*DONE* Addition of list of inodes (Not fsids)
*DONE* Inodes replace block list for the listed streams
*DONE* Restore to figure out blocks to restore to
*DONE* New magic: TBK3
*DONE*Backup
*DONE* Re-order blocks so application data is always before streams
*DONE* Verify all needed data is within the MFS volume pair
*DONE* Inode tables/data bearing application partitions
*DONE* Streams to be backed up
Restore
*DONE* Support for V1/2 and V3 backup format
New restore mode - MFS rebuild
Requires V3 backup format
Truncates MFS volume at last data storing app partition/media partition pair
Creates volume pairs to fill up drives
Allocates storage for streams out of new MFS media partitions
Execution flow:
Create partitions for OS and required MFS volume pairs
Restore OS partitions
Restore app partitions
Replay transaction log entries that modify stream inodes
Adjust transaction log so entries not committed are last
Build new MFS volume pairs
Walk list of backed up inodes and allocate storage
Finish V3 backup as normal (Allocating space from inodes)
*DONE* Direct drive copy
*DONE* New tool to combine backup/restore in one process for direct copy
Misc bug fixes
*DONE* Swap size
*DONE* Mfsadd to drives larger than 256gb (Need to investigate)
Better handling of error cases
*DONE* Better reporting of error cases
Plan V3.0
1. Clean up error reporting/return (All)
*DONE* 2. Handling of truncated volumes (Lib/Backup)
*DONE* 3. V3 backup handling (Backup/Restore)
4. MFS rebuild (Restore/Lib)
*DONE* 5. Clean up platform independence (Merge of MacOs branch)
TBK3 backup strategy:
NON-MFS
Raw partitions
MFS
Volume Header
Zone maps (In order linked)
Inodes (Only allocated (Maybe), only one copy)
Streams
Macpart
API for modifying/creating partition table
X Read table to validate partitions
X Init table
X Add partition
X Append
X Add before
- Delete partition
- Move partition (Number only, not data)
X Write table
Mfsadd
- Function to move MFS partition from one drive to another
X Ability to add existing partitions into MFS set
X Ability to expand MFS set to fill a drive, creating partitions as needed
Rename to expand?
Restore
X Ability to save extra partitions at end of drive
X Ability to create new MFS partitions to fill drive
MfsCopy
X New tool to do a direct drive to drive copy of MFS.
X Ability to copy A+B to new A+B drive
Ability to copy A+B to old A+new B or old B as A+new B
Ability to copy contents of just A or just B drive to new drive
MFS Info
X New tool to display some info on MFS drive