Changes

1,425 bytes added ,  07:22, 25 January 2023
move support spare ghosts to done
Line 52: Line 52:  
* [[CRIT (Go library)]]
 
* [[CRIT (Go library)]]
 
* https://github.com/snprajwal/gsoc-2022
 
* https://github.com/snprajwal/gsoc-2022
 +
 +
=== Support sparse ghosts ===
 +
 +
'''Merged:''' https://github.com/checkpoint-restore/criu/pull/1944 https://github.com/checkpoint-restore/criu/pull/1963
 +
 +
When criu dumps processes it also dumps files that are opened by them. It does this by saving file names by which the files are accessible. But sometimes files can have no names. It may happen if a task opened a file and then removed it. To dump this file criu cannot save its name (because the name doesn't exist). Instead criu saves the whole file. This is called "ghost file". Since saving the whole file is very expensive (copying lots of data on disk) criu limits the maximum size of a ghost file. The latter is also not good, because there are "sparse" files, that are large in size, but may be small from the real disk usage perspective. The goal of the task is to support sparse ghost files, i.e. limit the size of the ghost not by its length but by disk usage and when copying the data detect the used blocks and save only those.
 +
 +
'''Links:'''
 +
 +
*[https://en.wikipedia.org/wiki/Sparse_file Sparse files]
 +
*[[Dumping files]]
 +
*[[Invisible files]]
 +
*[https://www.kernel.org/doc/html/latest/filesystems/fiemap.html Fiemap ioctl]
 +
 +
'''Details:'''
 +
* Skill level: intermediate
 +
* Language: C
 +
* Expected size: 350 hours
 +
* Mentor: Pavel Emelyanov <ovzxemul@gmail.com>
 +
* Mentor: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
 +
* Suggested by: Pavel Emelyanov <ovzxemul@gmail.com>
    
[[Category:GSoC]]
 
[[Category:GSoC]]