*nmaxinodes = 0;
        *nfreeinodes = 0;
 
-       nused = atomic_read(&NILFS_I(ifile)->i_root->inodes_count);
+       nused = atomic64_read(&NILFS_I(ifile)->i_root->inodes_count);
        err = nilfs_palloc_count_max_entries(ifile, nused, nmaxinodes);
        if (likely(!err))
                *nfreeinodes = *nmaxinodes - nused;
 
 
        inode_add_bytes(inode, (1 << inode->i_blkbits) * n);
        if (root)
-               atomic_add(n, &root->blocks_count);
+               atomic64_add(n, &root->blocks_count);
 }
 
 void nilfs_inode_sub_blocks(struct inode *inode, int n)
 
        inode_sub_bytes(inode, (1 << inode->i_blkbits) * n);
        if (root)
-               atomic_sub(n, &root->blocks_count);
+               atomic64_sub(n, &root->blocks_count);
 }
 
 /**
                goto failed_ifile_create_inode;
        /* reference count of i_bh inherits from nilfs_mdt_read_block() */
 
-       atomic_inc(&root->inodes_count);
+       atomic64_inc(&root->inodes_count);
        inode_init_owner(inode, dir, mode);
        inode->i_ino = ino;
        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
 
        ret = nilfs_ifile_delete_inode(ii->i_root->ifile, inode->i_ino);
        if (!ret)
-               atomic_dec(&ii->i_root->inodes_count);
+               atomic64_dec(&ii->i_root->inodes_count);
 
        nilfs_clear_inode(inode);
 
 
        raw_cp->cp_snapshot_list.ssl_next = 0;
        raw_cp->cp_snapshot_list.ssl_prev = 0;
        raw_cp->cp_inodes_count =
-               cpu_to_le64(atomic_read(&sci->sc_root->inodes_count));
+               cpu_to_le64(atomic64_read(&sci->sc_root->inodes_count));
        raw_cp->cp_blocks_count =
-               cpu_to_le64(atomic_read(&sci->sc_root->blocks_count));
+               cpu_to_le64(atomic64_read(&sci->sc_root->blocks_count));
        raw_cp->cp_nblk_inc =
                cpu_to_le64(sci->sc_nblk_inc + sci->sc_nblk_this_inc);
        raw_cp->cp_create = cpu_to_le64(sci->sc_seg_ctime);
 
        if (err)
                goto failed_bh;
 
-       atomic_set(&root->inodes_count, le64_to_cpu(raw_cp->cp_inodes_count));
-       atomic_set(&root->blocks_count, le64_to_cpu(raw_cp->cp_blocks_count));
+       atomic64_set(&root->inodes_count,
+                       le64_to_cpu(raw_cp->cp_inodes_count));
+       atomic64_set(&root->blocks_count,
+                       le64_to_cpu(raw_cp->cp_blocks_count));
 
        nilfs_cpfile_put_checkpoint(nilfs->ns_cpfile, cno, bh_cp);
 
                         * curent inodes count as maximum possible and
                         * zero as free inodes value.
                         */
-                       nmaxinodes = atomic_read(&root->inodes_count);
+                       nmaxinodes = atomic64_read(&root->inodes_count);
                        nfreeinodes = 0;
                        err = 0;
                } else
 
        new->ifile = NULL;
        new->nilfs = nilfs;
        atomic_set(&new->count, 1);
-       atomic_set(&new->inodes_count, 0);
-       atomic_set(&new->blocks_count, 0);
+       atomic64_set(&new->inodes_count, 0);
+       atomic64_set(&new->blocks_count, 0);
 
        rb_link_node(&new->rb_node, parent, p);
        rb_insert_color(&new->rb_node, &nilfs->ns_cptree);
 
        struct the_nilfs *nilfs;
        struct inode *ifile;
 
-       atomic_t inodes_count;
-       atomic_t blocks_count;
+       atomic64_t inodes_count;
+       atomic64_t blocks_count;
 };
 
 /* Special checkpoint number */