• Pavel Emelyanov's avatar
    irmap: Introduce irmap on-disk cache · cc918897
    Pavel Emelyanov authored
    When dumping fsnotifies we may go to irmap to get inode->path
    mapping. The irmap engine scans FS (in hinted locations) to
    get one and it is slow even though we scan only part of the FS.
    
    Since the above scanning is done while tasks are frozen the
    freeze time goes up :(
    
    Improve the situation by generating irmap cache in working dir
    at pre-dump when tasks get unfrozen.
    
    The on-disk irmap cache is PB file, it sits in -W directory
    and can be loaded on dump/pre-dump start in memory. When
    resolving the inode->path mapping irmap may meet these entries,
    revalidate them and potentially save time.
    
    After pre-dump the (re-)collected irmap data is written back
    to irmap cache image. Typically entries written back are the
    same read in on cache load.
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    cc918897
cr-dump.c 38.1 KB