• Ryusuke Konishi's avatar
    nilfs2: add checkpoint tree to nilfs object · ba65ae47
    Ryusuke Konishi authored
    To hold multiple versions of a filesystem in one sb instance, a new
    on-memory structure is necessary to handle one or more checkpoints.
    
    This adds a red-black tree of checkpoints to nilfs object, and adds
    lookup and create functions for them.
    
    Each checkpoint is represented by "nilfs_root" structure, and this
    structure has rb_node to configure the rb-tree.
    
    The nilfs_root object is identified with a checkpoint number.  For
    each snapshot, a nilfs_root object is allocated and the checkpoint
    number of snapshot is assigned to it.  For a regular mount
    (i.e. current mode mount), NILFS_CPTREE_CURRENT_CNO constant is
    assigned to the corresponding nilfs_root object.
    
    Each nilfs_root object has an ifile inode and some counters.  These
    items will displace those of nilfs_sb_info structure in successive
    patches.
    Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    ba65ae47
the_nilfs.c 25.7 KB