Patch I/O manager comment

master
Vitaliy Filippov 2014-01-07 12:30:14 +00:00
parent 8bf3f6d012
commit 7548dd188c
1 changed files with 10 additions and 4 deletions

View File

@ -3,7 +3,6 @@
* without recreating it.
*
* TODO bigalloc compatibility
* TODO support undo, but not by undo_io_manager because it is VERY slow
* TODO write some tests: for inode moving (image with many files),
* for block moving, including extent blocks (one sparse file with many extents),
* for block moving between different groups
@ -29,9 +28,16 @@
* s_free_inodes_count, s_inodes_per_group
*
* This is a highly destructive process and WILL leave a corrupted FS if interrupted.
* So we should provide a rollback method. undo_io_manager is very slow, so maybe the
* original idea should be implemented: create the "patch" i/o manager that writes all
* changed blocks to a separate file and only then applies it.
* So we should provide a rollback method. undo_io_manager is very slow, so instead of it
* we use the "patch" i/o manager that first does not modify the filesystem directly, but
* only writes changed blocks to a separate sparse "patch" file.
*
* The modifications can then be applied to the real filesystem using e2patch utility,
* and if that process gets interrupted you can safely restart it and still get a consistent
* filesystem state.
*
* Moreover, you can create an "undo" ("backup") patch before applying modifications,
* also using e2patch utility.
*/
#include <stdio.h>