cpfile 20 fs/nilfs2/cpfile.c nilfs_cpfile_checkpoints_per_block(const struct inode *cpfile) cpfile 22 fs/nilfs2/cpfile.c return NILFS_MDT(cpfile)->mi_entries_per_block; cpfile 27 fs/nilfs2/cpfile.c nilfs_cpfile_get_blkoff(const struct inode *cpfile, __u64 cno) cpfile 29 fs/nilfs2/cpfile.c __u64 tcno = cno + NILFS_MDT(cpfile)->mi_first_entry_offset - 1; cpfile 31 fs/nilfs2/cpfile.c do_div(tcno, nilfs_cpfile_checkpoints_per_block(cpfile)); cpfile 37 fs/nilfs2/cpfile.c nilfs_cpfile_get_offset(const struct inode *cpfile, __u64 cno) cpfile 39 fs/nilfs2/cpfile.c __u64 tcno = cno + NILFS_MDT(cpfile)->mi_first_entry_offset - 1; cpfile 41 fs/nilfs2/cpfile.c return do_div(tcno, nilfs_cpfile_checkpoints_per_block(cpfile)); cpfile 44 fs/nilfs2/cpfile.c static __u64 nilfs_cpfile_first_checkpoint_in_block(const struct inode *cpfile, cpfile 47 fs/nilfs2/cpfile.c return (__u64)nilfs_cpfile_checkpoints_per_block(cpfile) * blkoff cpfile 48 fs/nilfs2/cpfile.c + 1 - NILFS_MDT(cpfile)->mi_first_entry_offset; cpfile 52 fs/nilfs2/cpfile.c nilfs_cpfile_checkpoints_in_block(const struct inode *cpfile, cpfile 57 fs/nilfs2/cpfile.c nilfs_cpfile_checkpoints_per_block(cpfile) - cpfile 58 fs/nilfs2/cpfile.c nilfs_cpfile_get_offset(cpfile, curr), cpfile 62 fs/nilfs2/cpfile.c static inline int nilfs_cpfile_is_in_first(const struct inode *cpfile, cpfile 65 fs/nilfs2/cpfile.c return nilfs_cpfile_get_blkoff(cpfile, cno) == 0; cpfile 69 fs/nilfs2/cpfile.c nilfs_cpfile_block_add_valid_checkpoints(const struct inode *cpfile, cpfile 83 fs/nilfs2/cpfile.c nilfs_cpfile_block_sub_valid_checkpoints(const struct inode *cpfile, cpfile 98 fs/nilfs2/cpfile.c nilfs_cpfile_block_get_header(const struct inode *cpfile, cpfile 106 fs/nilfs2/cpfile.c nilfs_cpfile_block_get_checkpoint(const struct inode *cpfile, __u64 cno, cpfile 110 fs/nilfs2/cpfile.c return kaddr + bh_offset(bh) + nilfs_cpfile_get_offset(cpfile, cno) * cpfile 111 fs/nilfs2/cpfile.c NILFS_MDT(cpfile)->mi_entry_size; cpfile 114 fs/nilfs2/cpfile.c static void nilfs_cpfile_block_init(struct inode *cpfile, cpfile 119 fs/nilfs2/cpfile.c size_t cpsz = NILFS_MDT(cpfile)->mi_entry_size; cpfile 120 fs/nilfs2/cpfile.c int n = nilfs_cpfile_checkpoints_per_block(cpfile); cpfile 128 fs/nilfs2/cpfile.c static inline int nilfs_cpfile_get_header_block(struct inode *cpfile, cpfile 131 fs/nilfs2/cpfile.c return nilfs_mdt_get_block(cpfile, 0, 0, NULL, bhp); cpfile 134 fs/nilfs2/cpfile.c static inline int nilfs_cpfile_get_checkpoint_block(struct inode *cpfile, cpfile 139 fs/nilfs2/cpfile.c return nilfs_mdt_get_block(cpfile, cpfile 140 fs/nilfs2/cpfile.c nilfs_cpfile_get_blkoff(cpfile, cno), cpfile 161 fs/nilfs2/cpfile.c static int nilfs_cpfile_find_checkpoint_block(struct inode *cpfile, cpfile 172 fs/nilfs2/cpfile.c start = nilfs_cpfile_get_blkoff(cpfile, start_cno); cpfile 173 fs/nilfs2/cpfile.c end = nilfs_cpfile_get_blkoff(cpfile, end_cno); cpfile 175 fs/nilfs2/cpfile.c ret = nilfs_mdt_find_block(cpfile, start, end, &blkoff, bhp); cpfile 178 fs/nilfs2/cpfile.c nilfs_cpfile_first_checkpoint_in_block(cpfile, blkoff); cpfile 182 fs/nilfs2/cpfile.c static inline int nilfs_cpfile_delete_checkpoint_block(struct inode *cpfile, cpfile 185 fs/nilfs2/cpfile.c return nilfs_mdt_delete_block(cpfile, cpfile 186 fs/nilfs2/cpfile.c nilfs_cpfile_get_blkoff(cpfile, cno)); cpfile 214 fs/nilfs2/cpfile.c int nilfs_cpfile_get_checkpoint(struct inode *cpfile, cpfile 226 fs/nilfs2/cpfile.c if (unlikely(cno < 1 || cno > nilfs_mdt_cno(cpfile) || cpfile 227 fs/nilfs2/cpfile.c (cno < nilfs_mdt_cno(cpfile) && create))) cpfile 230 fs/nilfs2/cpfile.c down_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 232 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &header_bh); cpfile 235 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, create, &cp_bh); cpfile 239 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr); cpfile 249 fs/nilfs2/cpfile.c if (!nilfs_cpfile_is_in_first(cpfile, cno)) cpfile 250 fs/nilfs2/cpfile.c nilfs_cpfile_block_add_valid_checkpoints(cpfile, cp_bh, cpfile 255 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, header_bh, cpfile 260 fs/nilfs2/cpfile.c nilfs_mdt_mark_dirty(cpfile); cpfile 271 fs/nilfs2/cpfile.c up_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 285 fs/nilfs2/cpfile.c void nilfs_cpfile_put_checkpoint(struct inode *cpfile, __u64 cno, cpfile 311 fs/nilfs2/cpfile.c int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, cpfile 318 fs/nilfs2/cpfile.c size_t cpsz = NILFS_MDT(cpfile)->mi_entry_size; cpfile 325 fs/nilfs2/cpfile.c nilfs_msg(cpfile->i_sb, KERN_ERR, cpfile 331 fs/nilfs2/cpfile.c down_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 333 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &header_bh); cpfile 340 fs/nilfs2/cpfile.c ncps = nilfs_cpfile_checkpoints_in_block(cpfile, cno, end); cpfile 341 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); cpfile 352 fs/nilfs2/cpfile.c cpfile, cno, cp_bh, kaddr); cpfile 365 fs/nilfs2/cpfile.c nilfs_mdt_mark_dirty(cpfile); cpfile 366 fs/nilfs2/cpfile.c if (!nilfs_cpfile_is_in_first(cpfile, cno)) { cpfile 369 fs/nilfs2/cpfile.c cpfile, cp_bh, kaddr, nicps); cpfile 376 fs/nilfs2/cpfile.c cpfile, cno); cpfile 379 fs/nilfs2/cpfile.c nilfs_msg(cpfile->i_sb, KERN_ERR, cpfile 393 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, header_bh, cpfile 397 fs/nilfs2/cpfile.c nilfs_mdt_mark_dirty(cpfile); cpfile 406 fs/nilfs2/cpfile.c up_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 410 fs/nilfs2/cpfile.c static void nilfs_cpfile_checkpoint_to_cpinfo(struct inode *cpfile, cpfile 423 fs/nilfs2/cpfile.c static ssize_t nilfs_cpfile_do_get_cpinfo(struct inode *cpfile, __u64 *cnop, cpfile 430 fs/nilfs2/cpfile.c size_t cpsz = NILFS_MDT(cpfile)->mi_entry_size; cpfile 431 fs/nilfs2/cpfile.c __u64 cur_cno = nilfs_mdt_cno(cpfile), cno = *cnop; cpfile 438 fs/nilfs2/cpfile.c down_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 442 fs/nilfs2/cpfile.c cpfile, cno, cur_cno - 1, &cno, &bh); cpfile 448 fs/nilfs2/cpfile.c ncps = nilfs_cpfile_checkpoints_in_block(cpfile, cno, cur_cno); cpfile 451 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, bh, kaddr); cpfile 454 fs/nilfs2/cpfile.c nilfs_cpfile_checkpoint_to_cpinfo(cpfile, cp, cpfile 471 fs/nilfs2/cpfile.c up_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 475 fs/nilfs2/cpfile.c static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop, cpfile 488 fs/nilfs2/cpfile.c down_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 491 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &bh); cpfile 495 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, bh, kaddr); cpfile 508 fs/nilfs2/cpfile.c curr_blkoff = nilfs_cpfile_get_blkoff(cpfile, curr); cpfile 509 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, curr, 0, &bh); cpfile 517 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, curr, bh, kaddr); cpfile 522 fs/nilfs2/cpfile.c nilfs_cpfile_checkpoint_to_cpinfo(cpfile, cp, ci); cpfile 529 fs/nilfs2/cpfile.c next_blkoff = nilfs_cpfile_get_blkoff(cpfile, next); cpfile 533 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, next, cpfile 550 fs/nilfs2/cpfile.c up_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 562 fs/nilfs2/cpfile.c ssize_t nilfs_cpfile_get_cpinfo(struct inode *cpfile, __u64 *cnop, int mode, cpfile 567 fs/nilfs2/cpfile.c return nilfs_cpfile_do_get_cpinfo(cpfile, cnop, buf, cisz, nci); cpfile 569 fs/nilfs2/cpfile.c return nilfs_cpfile_do_get_ssinfo(cpfile, cnop, buf, cisz, nci); cpfile 580 fs/nilfs2/cpfile.c int nilfs_cpfile_delete_checkpoint(struct inode *cpfile, __u64 cno) cpfile 586 fs/nilfs2/cpfile.c nci = nilfs_cpfile_do_get_cpinfo(cpfile, &tcno, &ci, sizeof(ci), 1); cpfile 594 fs/nilfs2/cpfile.c return nilfs_cpfile_delete_checkpoints(cpfile, cno, cno + 1); cpfile 598 fs/nilfs2/cpfile.c nilfs_cpfile_block_get_snapshot_list(const struct inode *cpfile, cpfile 608 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, bh, kaddr); cpfile 611 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, bh, kaddr); cpfile 617 fs/nilfs2/cpfile.c static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno) cpfile 630 fs/nilfs2/cpfile.c down_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 632 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); cpfile 636 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr); cpfile 649 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &header_bh); cpfile 653 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr); cpfile 661 fs/nilfs2/cpfile.c prev_blkoff = nilfs_cpfile_get_blkoff(cpfile, prev); cpfile 666 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, curr, cpfile 674 fs/nilfs2/cpfile.c cpfile, curr, curr_bh, kaddr); cpfile 681 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, prev, 0, cpfile 692 fs/nilfs2/cpfile.c cpfile, curr, curr_bh, kaddr); cpfile 697 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr); cpfile 705 fs/nilfs2/cpfile.c cpfile, prev, prev_bh, kaddr); cpfile 710 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr); cpfile 718 fs/nilfs2/cpfile.c nilfs_mdt_mark_dirty(cpfile); cpfile 732 fs/nilfs2/cpfile.c up_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 736 fs/nilfs2/cpfile.c static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno) cpfile 748 fs/nilfs2/cpfile.c down_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 750 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); cpfile 754 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr); cpfile 771 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &header_bh); cpfile 775 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, next, 0, cpfile 784 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, prev, 0, cpfile 795 fs/nilfs2/cpfile.c cpfile, next, next_bh, kaddr); cpfile 801 fs/nilfs2/cpfile.c cpfile, prev, prev_bh, kaddr); cpfile 806 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr); cpfile 813 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr); cpfile 821 fs/nilfs2/cpfile.c nilfs_mdt_mark_dirty(cpfile); cpfile 835 fs/nilfs2/cpfile.c up_write(&NILFS_MDT(cpfile)->mi_sem); cpfile 856 fs/nilfs2/cpfile.c int nilfs_cpfile_is_snapshot(struct inode *cpfile, __u64 cno) cpfile 867 fs/nilfs2/cpfile.c if (cno == 0 || cno >= nilfs_mdt_cno(cpfile)) cpfile 869 fs/nilfs2/cpfile.c down_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 871 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &bh); cpfile 875 fs/nilfs2/cpfile.c cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, bh, kaddr); cpfile 884 fs/nilfs2/cpfile.c up_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 906 fs/nilfs2/cpfile.c int nilfs_cpfile_change_cpmode(struct inode *cpfile, __u64 cno, int mode) cpfile 912 fs/nilfs2/cpfile.c if (nilfs_checkpoint_is_mounted(cpfile->i_sb, cno)) cpfile 921 fs/nilfs2/cpfile.c ret = nilfs_cpfile_clear_snapshot(cpfile, cno); cpfile 924 fs/nilfs2/cpfile.c return nilfs_cpfile_set_snapshot(cpfile, cno); cpfile 945 fs/nilfs2/cpfile.c int nilfs_cpfile_get_stat(struct inode *cpfile, struct nilfs_cpstat *cpstat) cpfile 952 fs/nilfs2/cpfile.c down_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 954 fs/nilfs2/cpfile.c ret = nilfs_cpfile_get_header_block(cpfile, &bh); cpfile 958 fs/nilfs2/cpfile.c header = nilfs_cpfile_block_get_header(cpfile, bh, kaddr); cpfile 959 fs/nilfs2/cpfile.c cpstat->cs_cno = nilfs_mdt_cno(cpfile); cpfile 966 fs/nilfs2/cpfile.c up_read(&NILFS_MDT(cpfile)->mi_sem); cpfile 980 fs/nilfs2/cpfile.c struct inode *cpfile; cpfile 993 fs/nilfs2/cpfile.c cpfile = nilfs_iget_locked(sb, NULL, NILFS_CPFILE_INO); cpfile 994 fs/nilfs2/cpfile.c if (unlikely(!cpfile)) cpfile 996 fs/nilfs2/cpfile.c if (!(cpfile->i_state & I_NEW)) cpfile 999 fs/nilfs2/cpfile.c err = nilfs_mdt_init(cpfile, NILFS_MDT_GFP, 0); cpfile 1003 fs/nilfs2/cpfile.c nilfs_mdt_set_entry_size(cpfile, cpsize, cpfile 1006 fs/nilfs2/cpfile.c err = nilfs_read_inode_common(cpfile, raw_inode); cpfile 1010 fs/nilfs2/cpfile.c unlock_new_inode(cpfile); cpfile 1012 fs/nilfs2/cpfile.c *inodep = cpfile; cpfile 1015 fs/nilfs2/cpfile.c iget_failed(cpfile); cpfile 699 fs/nilfs2/ioctl.c struct inode *cpfile = nilfs->ns_cpfile; cpfile 705 fs/nilfs2/ioctl.c cpfile, periods[i].p_start, periods[i].p_end);