• Ryusuke Konishi's avatar
    nilfs2: add inode and other major structures · 65b4643d
    Ryusuke Konishi authored
    This adds the following common structures of the NILFS2 file system.
    
    * nilfs_inode_info structure:
      gives on-memory inode.
    
    * nilfs_sb_info structure:
      keeps per-mount state and a special inode for the ifile.
      This structure is attached to the super_block structure.
    
    * the_nilfs structure:
      keeps shared state and locks among a read/write mount and snapshot
      mounts.  This keeps special inodes for the sufile, cpfile, dat, and
      another dat inode used during GC (gcdat).  This also has a hash table
      of dummy inodes to cache disk blocks during GC (gcinodes).
    
    * nilfs_transaction_info structure:
      keeps per task state while nilfs is writing logs or doing indivisible
      inode or namespace operations.  This structure is used to identify
      context during log making and store nest level of the lock which
      ensures atomicity of file system operations.
    Signed-off-by: default avatarKoji Sato <sato.koji@lab.ntt.co.jp>
    Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    65b4643d
nilfs.h 10.5 KB