nilfs 24 fs/nilfs2/bmap.c struct the_nilfs *nilfs = bmap->b_inode->i_sb->s_fs_info; nilfs 26 fs/nilfs2/bmap.c return nilfs->ns_dat; nilfs 77 fs/nilfs2/btnode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 80 fs/nilfs2/btnode.c err = nilfs_dat_translate(nilfs->ns_dat, blocknr, nilfs 26 fs/nilfs2/file.c struct the_nilfs *nilfs; nilfs 38 fs/nilfs2/file.c nilfs = inode->i_sb->s_fs_info; nilfs 40 fs/nilfs2/file.c err = nilfs_flush_device(nilfs); nilfs 73 fs/nilfs2/gcinode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 75 fs/nilfs2/gcinode.c err = nilfs_dat_translate(nilfs->ns_dat, vbn, &pbn); nilfs 179 fs/nilfs2/gcinode.c void nilfs_remove_all_gcinodes(struct the_nilfs *nilfs) nilfs 181 fs/nilfs2/gcinode.c struct list_head *head = &nilfs->ns_gc_inodes; nilfs 74 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 79 fs/nilfs2/inode.c down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 81 fs/nilfs2/inode.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 334 fs/nilfs2/inode.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 379 fs/nilfs2/inode.c spin_lock(&nilfs->ns_next_gen_lock); nilfs 380 fs/nilfs2/inode.c inode->i_generation = nilfs->ns_next_generation++; nilfs 381 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_next_gen_lock); nilfs 477 fs/nilfs2/inode.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 482 fs/nilfs2/inode.c down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 513 fs/nilfs2/inode.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 524 fs/nilfs2/inode.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 645 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 651 fs/nilfs2/inode.c nilfs->ns_inode_size - sizeof(*raw_inode)); nilfs 867 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 871 fs/nilfs2/inode.c spin_lock(&nilfs->ns_inode_lock); nilfs 873 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_inode_lock); nilfs 878 fs/nilfs2/inode.c spin_lock(&nilfs->ns_inode_lock); nilfs 889 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_inode_lock); nilfs 896 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 900 fs/nilfs2/inode.c spin_lock(&nilfs->ns_inode_lock); nilfs 903 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_inode_lock); nilfs 911 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 913 fs/nilfs2/inode.c atomic_add(nr_dirty, &nilfs->ns_ndirtyblks); nilfs 918 fs/nilfs2/inode.c spin_lock(&nilfs->ns_inode_lock); nilfs 933 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_inode_lock); nilfs 939 fs/nilfs2/inode.c list_move_tail(&ii->i_dirty, &nilfs->ns_dirty_files); nilfs 942 fs/nilfs2/inode.c spin_unlock(&nilfs->ns_inode_lock); nilfs 998 fs/nilfs2/inode.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 1058 fs/nilfs2/inode.c down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 1061 fs/nilfs2/inode.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 46 fs/nilfs2/ioctl.c static int nilfs_ioctl_wrap_copy(struct the_nilfs *nilfs, nilfs 91 fs/nilfs2/ioctl.c nr = dofunc(nilfs, &pos, argv->v_flags, buf, argv->v_size, nilfs 205 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 221 fs/nilfs2/ioctl.c mutex_lock(&nilfs->ns_snapshot_mount_mutex); nilfs 225 fs/nilfs2/ioctl.c nilfs->ns_cpfile, cpmode.cm_cno, cpmode.cm_mode); nilfs 231 fs/nilfs2/ioctl.c mutex_unlock(&nilfs->ns_snapshot_mount_mutex); nilfs 260 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 277 fs/nilfs2/ioctl.c ret = nilfs_cpfile_delete_checkpoint(nilfs->ns_cpfile, cno); nilfs 303 fs/nilfs2/ioctl.c nilfs_ioctl_do_get_cpinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, nilfs 308 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 309 fs/nilfs2/ioctl.c ret = nilfs_cpfile_get_cpinfo(nilfs->ns_cpfile, posp, flags, buf, nilfs 311 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 339 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 343 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 344 fs/nilfs2/ioctl.c ret = nilfs_cpfile_get_stat(nilfs->ns_cpfile, &cpstat); nilfs 345 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 370 fs/nilfs2/ioctl.c nilfs_ioctl_do_get_suinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, nilfs 375 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 376 fs/nilfs2/ioctl.c ret = nilfs_sufile_get_suinfo(nilfs->ns_sufile, *posp, buf, size, nilfs 378 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 406 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 410 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 411 fs/nilfs2/ioctl.c ret = nilfs_sufile_get_stat(nilfs->ns_sufile, &sustat); nilfs 412 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 437 fs/nilfs2/ioctl.c nilfs_ioctl_do_get_vinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, nilfs 442 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 443 fs/nilfs2/ioctl.c ret = nilfs_dat_get_vinfo(nilfs->ns_dat, buf, size, nmembs); nilfs 444 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 464 fs/nilfs2/ioctl.c nilfs_ioctl_do_get_bdescs(struct the_nilfs *nilfs, __u64 *posp, int flags, nilfs 467 fs/nilfs2/ioctl.c struct nilfs_bmap *bmap = NILFS_I(nilfs->ns_dat)->i_bmap; nilfs 471 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 479 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 485 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 515 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 525 fs/nilfs2/ioctl.c ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), nilfs 615 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 640 fs/nilfs2/ioctl.c &nilfs->ns_gc_inodes); nilfs 695 fs/nilfs2/ioctl.c static int nilfs_ioctl_delete_checkpoints(struct the_nilfs *nilfs, nilfs 699 fs/nilfs2/ioctl.c struct inode *cpfile = nilfs->ns_cpfile; nilfs 730 fs/nilfs2/ioctl.c static int nilfs_ioctl_free_vblocknrs(struct the_nilfs *nilfs, nilfs 736 fs/nilfs2/ioctl.c ret = nilfs_dat_freev(nilfs->ns_dat, buf, nmembs); nilfs 759 fs/nilfs2/ioctl.c static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs, nilfs 763 fs/nilfs2/ioctl.c struct nilfs_bmap *bmap = NILFS_I(nilfs->ns_dat)->i_bmap; nilfs 783 fs/nilfs2/ioctl.c ret = nilfs_mdt_get_block(nilfs->ns_dat, nilfs 791 fs/nilfs2/ioctl.c nilfs_mdt_mark_dirty(nilfs->ns_dat); nilfs 805 fs/nilfs2/ioctl.c int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, nilfs 811 fs/nilfs2/ioctl.c ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], kbufs[1]); nilfs 820 fs/nilfs2/ioctl.c ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], kbufs[2]); nilfs 829 fs/nilfs2/ioctl.c ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], kbufs[3]); nilfs 840 fs/nilfs2/ioctl.c nilfs_msg(nilfs->ns_sb, KERN_ERR, "error %d preparing GC: %s", ret, nilfs 872 fs/nilfs2/ioctl.c struct the_nilfs *nilfs; nilfs 905 fs/nilfs2/ioctl.c nilfs = inode->i_sb->s_fs_info; nilfs 912 fs/nilfs2/ioctl.c if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment) nilfs 943 fs/nilfs2/ioctl.c if (test_and_set_bit(THE_NILFS_GC_RUNNING, &nilfs->ns_flags)) { nilfs 954 fs/nilfs2/ioctl.c if (nilfs_sb_need_update(nilfs)) nilfs 955 fs/nilfs2/ioctl.c set_nilfs_discontinued(nilfs); nilfs 959 fs/nilfs2/ioctl.c nilfs_remove_all_gcinodes(nilfs); nilfs 960 fs/nilfs2/ioctl.c clear_nilfs_gc_running(nilfs); nilfs 1003 fs/nilfs2/ioctl.c struct the_nilfs *nilfs; nilfs 1009 fs/nilfs2/ioctl.c nilfs = inode->i_sb->s_fs_info; nilfs 1010 fs/nilfs2/ioctl.c ret = nilfs_flush_device(nilfs); nilfs 1015 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 1016 fs/nilfs2/ioctl.c cno = nilfs->ns_cno - 1; nilfs 1017 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 1070 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 1071 fs/nilfs2/ioctl.c struct request_queue *q = bdev_get_queue(nilfs->ns_bdev); nilfs 1086 fs/nilfs2/ioctl.c down_read(&nilfs->ns_segctor_sem); nilfs 1087 fs/nilfs2/ioctl.c ret = nilfs_sufile_trim_fs(nilfs->ns_sufile, &range); nilfs 1088 fs/nilfs2/ioctl.c up_read(&nilfs->ns_segctor_sem); nilfs 1112 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 1129 fs/nilfs2/ioctl.c segbytes = nilfs->ns_blocks_per_segment * nilfs->ns_blocksize; nilfs 1137 fs/nilfs2/ioctl.c ret = nilfs_sufile_set_alloc_range(nilfs->ns_sufile, minseg, maxseg); nilfs 1172 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 1182 fs/nilfs2/ioctl.c ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), dofunc); nilfs 1218 fs/nilfs2/ioctl.c struct the_nilfs *nilfs = inode->i_sb->s_fs_info; nilfs 1241 fs/nilfs2/ioctl.c if (argv.v_nmembs > nilfs->ns_nsegments) nilfs 1266 fs/nilfs2/ioctl.c ret = nilfs_sufile_set_suinfo(nilfs->ns_sufile, kbuf, argv.v_size, nilfs 345 fs/nilfs2/nilfs.h void nilfs_remove_all_gcinodes(struct the_nilfs *nilfs); nilfs 92 fs/nilfs2/recovery.c static int nilfs_compute_checksum(struct the_nilfs *nilfs, nilfs 97 fs/nilfs2/recovery.c unsigned int blocksize = nilfs->ns_blocksize; nilfs 104 fs/nilfs2/recovery.c crc = crc32_le(nilfs->ns_crc_seed, nilfs 110 fs/nilfs2/recovery.c bh = __bread(nilfs->ns_bdev, ++start, blocksize); nilfs 130 fs/nilfs2/recovery.c int nilfs_read_super_root_block(struct the_nilfs *nilfs, sector_t sr_block, nilfs 139 fs/nilfs2/recovery.c bh_sr = __bread(nilfs->ns_bdev, sr_block, nilfs->ns_blocksize); nilfs 149 fs/nilfs2/recovery.c if (bytes == 0 || bytes > nilfs->ns_blocksize) { nilfs 154 fs/nilfs2/recovery.c nilfs, bh_sr, &crc, sizeof(sr->sr_sum), bytes, nilfs 171 fs/nilfs2/recovery.c return nilfs_warn_segment_error(nilfs->ns_sb, ret); nilfs 181 fs/nilfs2/recovery.c nilfs_read_log_header(struct the_nilfs *nilfs, sector_t start_blocknr, nilfs 186 fs/nilfs2/recovery.c bh_sum = __bread(nilfs->ns_bdev, start_blocknr, nilfs->ns_blocksize); nilfs 199 fs/nilfs2/recovery.c static int nilfs_validate_log(struct the_nilfs *nilfs, u64 seg_seq, nilfs 217 fs/nilfs2/recovery.c if (unlikely(nblock == 0 || nblock > nilfs->ns_blocks_per_segment)) nilfs 222 fs/nilfs2/recovery.c if (nilfs_compute_checksum(nilfs, bh_sum, &crc, sizeof(sum->ss_datasum), nilfs 223 fs/nilfs2/recovery.c ((u64)nblock << nilfs->ns_blocksize_bits), nilfs 242 fs/nilfs2/recovery.c static void *nilfs_read_summary_info(struct the_nilfs *nilfs, nilfs 253 fs/nilfs2/recovery.c *pbh = __bread(nilfs->ns_bdev, blocknr + 1, nilfs 254 fs/nilfs2/recovery.c nilfs->ns_blocksize); nilfs 272 fs/nilfs2/recovery.c static void nilfs_skip_summary_info(struct the_nilfs *nilfs, nilfs 292 fs/nilfs2/recovery.c *pbh = __bread(nilfs->ns_bdev, blocknr + bcnt, nilfs 293 fs/nilfs2/recovery.c nilfs->ns_blocksize); nilfs 304 fs/nilfs2/recovery.c static int nilfs_scan_dsync_log(struct the_nilfs *nilfs, sector_t start_blocknr, nilfs 320 fs/nilfs2/recovery.c blocknr = start_blocknr + DIV_ROUND_UP(sumbytes, nilfs->ns_blocksize); nilfs 321 fs/nilfs2/recovery.c bh = __bread(nilfs->ns_bdev, start_blocknr, nilfs->ns_blocksize); nilfs 330 fs/nilfs2/recovery.c finfo = nilfs_read_summary_info(nilfs, &bh, &offset, nilfs 344 fs/nilfs2/recovery.c binfo = nilfs_read_summary_info(nilfs, &bh, &offset, nilfs 364 fs/nilfs2/recovery.c nilfs_skip_summary_info(nilfs, &bh, &offset, sizeof(__le64), nilfs 415 fs/nilfs2/recovery.c static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, nilfs 421 fs/nilfs2/recovery.c struct inode *sufile = nilfs->ns_sufile; nilfs 426 fs/nilfs2/recovery.c segnum[0] = nilfs->ns_segnum; nilfs 427 fs/nilfs2/recovery.c segnum[1] = nilfs->ns_nextnum; nilfs 464 fs/nilfs2/recovery.c nilfs->ns_pseg_offset = 0; nilfs 465 fs/nilfs2/recovery.c nilfs->ns_seg_seq = ri->ri_seq + 2; nilfs 466 fs/nilfs2/recovery.c nilfs->ns_nextnum = nilfs->ns_segnum = segnum[0]; nilfs 473 fs/nilfs2/recovery.c static int nilfs_recovery_copy_block(struct the_nilfs *nilfs, nilfs 480 fs/nilfs2/recovery.c bh_org = __bread(nilfs->ns_bdev, rb->blocknr, nilfs->ns_blocksize); nilfs 491 fs/nilfs2/recovery.c static int nilfs_recover_dsync_blocks(struct the_nilfs *nilfs, nilfs 499 fs/nilfs2/recovery.c unsigned int blocksize = nilfs->ns_blocksize; nilfs 524 fs/nilfs2/recovery.c err = nilfs_recovery_copy_block(nilfs, rb, page); nilfs 567 fs/nilfs2/recovery.c static int nilfs_do_roll_forward(struct the_nilfs *nilfs, nilfs 591 fs/nilfs2/recovery.c segnum = nilfs_get_segnum_of_block(nilfs, pseg_start); nilfs 592 fs/nilfs2/recovery.c nilfs_get_segment_range(nilfs, segnum, &seg_start, &seg_end); nilfs 596 fs/nilfs2/recovery.c bh_sum = nilfs_read_log_header(nilfs, pseg_start, &sum); nilfs 602 fs/nilfs2/recovery.c ret = nilfs_validate_log(nilfs, seg_seq, bh_sum, sum); nilfs 616 fs/nilfs2/recovery.c nextnum = nilfs_get_segnum_of_block(nilfs, nilfs 619 fs/nilfs2/recovery.c nilfs->ns_ctime = le64_to_cpu(sum->ss_create); nilfs 621 fs/nilfs2/recovery.c nilfs->ns_nongc_ctime = nilfs->ns_ctime; nilfs 634 fs/nilfs2/recovery.c err = nilfs_scan_dsync_log(nilfs, pseg_start, sum, nilfs 640 fs/nilfs2/recovery.c nilfs, sb, root, &dsync_blocks, nilfs 667 fs/nilfs2/recovery.c nilfs_get_segment_range(nilfs, segnum, &seg_start, &seg_end); nilfs 690 fs/nilfs2/recovery.c static void nilfs_finish_roll_forward(struct the_nilfs *nilfs, nilfs 696 fs/nilfs2/recovery.c if (nilfs_get_segnum_of_block(nilfs, ri->ri_lsegs_start) != nilfs 697 fs/nilfs2/recovery.c nilfs_get_segnum_of_block(nilfs, ri->ri_super_root)) nilfs 700 fs/nilfs2/recovery.c bh = __getblk(nilfs->ns_bdev, ri->ri_lsegs_start, nilfs->ns_blocksize); nilfs 706 fs/nilfs2/recovery.c nilfs_msg(nilfs->ns_sb, KERN_WARNING, nilfs 730 fs/nilfs2/recovery.c int nilfs_salvage_orphan_logs(struct the_nilfs *nilfs, nilfs 747 fs/nilfs2/recovery.c err = nilfs_do_roll_forward(nilfs, sb, root, ri); nilfs 752 fs/nilfs2/recovery.c err = nilfs_prepare_segment_for_recovery(nilfs, sb, ri); nilfs 764 fs/nilfs2/recovery.c set_nilfs_discontinued(nilfs); nilfs 775 fs/nilfs2/recovery.c nilfs_finish_roll_forward(nilfs, ri); nilfs 801 fs/nilfs2/recovery.c int nilfs_search_super_root(struct the_nilfs *nilfs, nilfs 818 fs/nilfs2/recovery.c pseg_start = nilfs->ns_last_pseg; nilfs 819 fs/nilfs2/recovery.c seg_seq = nilfs->ns_last_seq; nilfs 820 fs/nilfs2/recovery.c cno = nilfs->ns_last_cno; nilfs 821 fs/nilfs2/recovery.c segnum = nilfs_get_segnum_of_block(nilfs, pseg_start); nilfs 824 fs/nilfs2/recovery.c nilfs_get_segment_range(nilfs, segnum, &seg_start, &seg_end); nilfs 829 fs/nilfs2/recovery.c __breadahead(nilfs->ns_bdev, b++, nilfs->ns_blocksize); nilfs 834 fs/nilfs2/recovery.c bh_sum = nilfs_read_log_header(nilfs, pseg_start, &sum); nilfs 838 fs/nilfs2/recovery.c ret = nilfs_validate_log(nilfs, seg_seq, bh_sum, sum); nilfs 856 fs/nilfs2/recovery.c nextnum = nilfs_get_segnum_of_block(nilfs, nilfs 873 fs/nilfs2/recovery.c nilfs_get_segment_range(nilfs, nextnum, &b, &end); nilfs 875 fs/nilfs2/recovery.c __breadahead(nilfs->ns_bdev, b++, nilfs 876 fs/nilfs2/recovery.c nilfs->ns_blocksize); nilfs 895 fs/nilfs2/recovery.c nilfs->ns_pseg_offset = pseg_start + nblocks - seg_start; nilfs 896 fs/nilfs2/recovery.c nilfs->ns_seg_seq = seg_seq; nilfs 897 fs/nilfs2/recovery.c nilfs->ns_segnum = segnum; nilfs 898 fs/nilfs2/recovery.c nilfs->ns_cno = cno; /* nilfs->ns_cno = ri->ri_cno + 1 */ nilfs 899 fs/nilfs2/recovery.c nilfs->ns_ctime = le64_to_cpu(sum->ss_create); nilfs 900 fs/nilfs2/recovery.c nilfs->ns_nextnum = nextnum; nilfs 905 fs/nilfs2/recovery.c if (nilfs->ns_mount_state & NILFS_VALID_FS) nilfs 937 fs/nilfs2/recovery.c nilfs_get_segment_range(nilfs, segnum, &seg_start, &seg_end); nilfs 945 fs/nilfs2/recovery.c nilfs->ns_last_pseg = sr_pseg_start; nilfs 946 fs/nilfs2/recovery.c nilfs->ns_last_seq = nilfs->ns_seg_seq; nilfs 947 fs/nilfs2/recovery.c nilfs->ns_last_cno = ri->ri_cno; nilfs 953 fs/nilfs2/recovery.c return ret < 0 ? ret : nilfs_warn_segment_error(nilfs->ns_sb, ret); nilfs 21 fs/nilfs2/segbuf.c struct the_nilfs *nilfs; nilfs 31 fs/nilfs2/segbuf.c struct the_nilfs *nilfs); nilfs 61 fs/nilfs2/segbuf.c unsigned long offset, struct the_nilfs *nilfs) nilfs 64 fs/nilfs2/segbuf.c nilfs_get_segment_range(nilfs, segnum, &segbuf->sb_fseg_start, nilfs 89 fs/nilfs2/segbuf.c __u64 nextnum, struct the_nilfs *nilfs) nilfs 92 fs/nilfs2/segbuf.c segbuf->sb_sum.next = nilfs_get_segment_start_blocknr(nilfs, nextnum); nilfs 229 fs/nilfs2/segbuf.c struct the_nilfs *nilfs = segbuf->sb_super->s_fs_info; nilfs 234 fs/nilfs2/segbuf.c srsize = NILFS_SR_BYTES(nilfs->ns_inode_size); nilfs 282 fs/nilfs2/segbuf.c int nilfs_write_logs(struct list_head *logs, struct the_nilfs *nilfs) nilfs 288 fs/nilfs2/segbuf.c ret = nilfs_segbuf_write(segbuf, nilfs); nilfs 383 fs/nilfs2/segbuf.c static struct bio *nilfs_alloc_seg_bio(struct the_nilfs *nilfs, sector_t start, nilfs 394 fs/nilfs2/segbuf.c bio_set_dev(bio, nilfs->ns_bdev); nilfs 396 fs/nilfs2/segbuf.c start << (nilfs->ns_blocksize_bits - 9); nilfs 421 fs/nilfs2/segbuf.c wi->bio = nilfs_alloc_seg_bio(wi->nilfs, wi->blocknr + wi->end, nilfs 453 fs/nilfs2/segbuf.c struct the_nilfs *nilfs) nilfs 459 fs/nilfs2/segbuf.c wi.nilfs = nilfs; nilfs 163 fs/nilfs2/segbuf.h int nilfs_write_logs(struct list_head *logs, struct the_nilfs *nilfs); nilfs 210 fs/nilfs2/segment.c struct the_nilfs *nilfs; nilfs 227 fs/nilfs2/segment.c nilfs = sb->s_fs_info; nilfs 228 fs/nilfs2/segment.c down_read(&nilfs->ns_segctor_sem); nilfs 229 fs/nilfs2/segment.c if (vacancy_check && nilfs_near_disk_full(nilfs)) { nilfs 230 fs/nilfs2/segment.c up_read(&nilfs->ns_segctor_sem); nilfs 264 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 275 fs/nilfs2/segment.c if (nilfs->ns_writer) { nilfs 276 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 280 fs/nilfs2/segment.c if (atomic_read(&nilfs->ns_ndirtyblks) > sci->sc_watermark) nilfs 283 fs/nilfs2/segment.c up_read(&nilfs->ns_segctor_sem); nilfs 300 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 309 fs/nilfs2/segment.c up_read(&nilfs->ns_segctor_sem); nilfs 322 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 323 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 329 fs/nilfs2/segment.c up_read(&nilfs->ns_segctor_sem); nilfs 331 fs/nilfs2/segment.c down_write(&nilfs->ns_segctor_sem); nilfs 340 fs/nilfs2/segment.c downgrade_write(&nilfs->ns_segctor_sem); nilfs 348 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 349 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 362 fs/nilfs2/segment.c down_write(&nilfs->ns_segctor_sem); nilfs 368 fs/nilfs2/segment.c up_write(&nilfs->ns_segctor_sem); nilfs 381 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 386 fs/nilfs2/segment.c up_write(&nilfs->ns_segctor_sem); nilfs 768 fs/nilfs2/segment.c static void nilfs_dispose_list(struct the_nilfs *nilfs, nilfs 776 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 787 fs/nilfs2/segment.c &nilfs->ns_dirty_files); nilfs 794 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 805 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 807 fs/nilfs2/segment.c nilfs_dispose_list(nilfs, &sci->sc_iput_queue, 0); nilfs 810 fs/nilfs2/segment.c static int nilfs_test_metadata_dirty(struct the_nilfs *nilfs, nilfs 817 fs/nilfs2/segment.c if (nilfs_mdt_fetch_dirty(nilfs->ns_cpfile)) nilfs 819 fs/nilfs2/segment.c if (nilfs_mdt_fetch_dirty(nilfs->ns_sufile)) nilfs 821 fs/nilfs2/segment.c if ((ret || nilfs_doing_gc()) && nilfs_mdt_fetch_dirty(nilfs->ns_dat)) nilfs 836 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 839 fs/nilfs2/segment.c if (nilfs_test_metadata_dirty(nilfs, sci->sc_root)) nilfs 842 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 843 fs/nilfs2/segment.c if (list_empty(&nilfs->ns_dirty_files) && nilfs_segctor_clean(sci)) nilfs 846 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 852 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 855 fs/nilfs2/segment.c nilfs_mdt_clear_dirty(nilfs->ns_cpfile); nilfs 856 fs/nilfs2/segment.c nilfs_mdt_clear_dirty(nilfs->ns_sufile); nilfs 857 fs/nilfs2/segment.c nilfs_mdt_clear_dirty(nilfs->ns_dat); nilfs 862 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 868 fs/nilfs2/segment.c err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, nilfs->ns_cno, 1, nilfs 877 fs/nilfs2/segment.c nilfs_mdt_mark_dirty(nilfs->ns_cpfile); nilfs 879 fs/nilfs2/segment.c nilfs->ns_cpfile, nilfs->ns_cno, bh_cp); nilfs 888 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 893 fs/nilfs2/segment.c err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, nilfs->ns_cno, 0, nilfs 908 fs/nilfs2/segment.c raw_cp->cp_cno = cpu_to_le64(nilfs->ns_cno); nilfs 917 fs/nilfs2/segment.c nilfs_cpfile_put_checkpoint(nilfs->ns_cpfile, nilfs->ns_cno, bh_cp); nilfs 952 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 960 fs/nilfs2/segment.c isz = nilfs->ns_inode_size; nilfs 966 fs/nilfs2/segment.c nilfs->ns_nongc_ctime : sci->sc_seg_ctime); nilfs 969 fs/nilfs2/segment.c nilfs_write_inode_common(nilfs->ns_dat, (void *)raw_sr + nilfs 971 fs/nilfs2/segment.c nilfs_write_inode_common(nilfs->ns_cpfile, (void *)raw_sr + nilfs 973 fs/nilfs2/segment.c nilfs_write_inode_common(nilfs->ns_sufile, (void *)raw_sr + nilfs 975 fs/nilfs2/segment.c memset((void *)raw_sr + srsz, 0, nilfs->ns_blocksize - srsz); nilfs 1115 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 1202 fs/nilfs2/segment.c err = nilfs_segctor_scan_file(sci, nilfs->ns_cpfile, nilfs 1208 fs/nilfs2/segment.c err = nilfs_sufile_freev(nilfs->ns_sufile, sci->sc_freesegs, nilfs 1211 fs/nilfs2/segment.c nilfs_sufile_cancel_freev(nilfs->ns_sufile, nilfs 1218 fs/nilfs2/segment.c err = nilfs_segctor_scan_file(sci, nilfs->ns_sufile, nilfs 1225 fs/nilfs2/segment.c err = nilfs_segctor_scan_file(sci, nilfs->ns_dat, nilfs 1274 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 1285 fs/nilfs2/segment.c nilfs_segbuf_map(segbuf, nilfs->ns_segnum, nilfs 1286 fs/nilfs2/segment.c nilfs->ns_pseg_offset, nilfs); nilfs 1288 fs/nilfs2/segment.c nilfs_shift_to_next_segment(nilfs); nilfs 1289 fs/nilfs2/segment.c nilfs_segbuf_map(segbuf, nilfs->ns_segnum, 0, nilfs); nilfs 1292 fs/nilfs2/segment.c segbuf->sb_sum.seg_seq = nilfs->ns_seg_seq; nilfs 1293 fs/nilfs2/segment.c nextnum = nilfs->ns_nextnum; nilfs 1295 fs/nilfs2/segment.c if (nilfs->ns_segnum == nilfs->ns_nextnum) nilfs 1306 fs/nilfs2/segment.c nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs); nilfs 1312 fs/nilfs2/segment.c err = nilfs_sufile_mark_dirty(nilfs->ns_sufile, segbuf->sb_segnum); nilfs 1317 fs/nilfs2/segment.c err = nilfs_sufile_alloc(nilfs->ns_sufile, &nextnum); nilfs 1321 fs/nilfs2/segment.c nilfs_segbuf_set_next_segnum(segbuf, nextnum, nilfs); nilfs 1334 fs/nilfs2/segment.c struct the_nilfs *nilfs, int nadd) nilfs 1337 fs/nilfs2/segment.c struct inode *sufile = nilfs->ns_sufile; nilfs 1361 fs/nilfs2/segment.c nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs); nilfs 1370 fs/nilfs2/segment.c nilfs_segbuf_set_next_segnum(segbuf, nextnextnum, nilfs); nilfs 1390 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 1393 fs/nilfs2/segment.c struct inode *sufile = nilfs->ns_sufile; nilfs 1397 fs/nilfs2/segment.c if (nilfs->ns_nextnum != segbuf->sb_nextnum) { nilfs 1408 fs/nilfs2/segment.c nilfs_terminate_segment(nilfs, segbuf->sb_fseg_start, nilfs 1411 fs/nilfs2/segment.c set_nilfs_discontinued(nilfs); nilfs 1421 fs/nilfs2/segment.c segbuf->sb_segnum != nilfs->ns_nextnum) nilfs 1480 fs/nilfs2/segment.c struct the_nilfs *nilfs, int mode) nilfs 1510 fs/nilfs2/segment.c err = nilfs_sufile_cancel_freev(nilfs->ns_sufile, nilfs 1518 fs/nilfs2/segment.c err = nilfs_segctor_extend_segments(sci, nilfs, nadd); nilfs 1525 fs/nilfs2/segment.c nilfs_segctor_truncate_segments(sci, sci->sc_curseg, nilfs->ns_sufile); nilfs 1693 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 1697 fs/nilfs2/segment.c ret = nilfs_write_logs(&sci->sc_segbufs, nilfs); nilfs 1782 fs/nilfs2/segment.c struct the_nilfs *nilfs, int err) nilfs 1792 fs/nilfs2/segment.c nilfs_cancel_segusage(&logs, nilfs->ns_sufile); nilfs 1793 fs/nilfs2/segment.c nilfs_free_incomplete_logs(&logs, nilfs); nilfs 1796 fs/nilfs2/segment.c ret = nilfs_sufile_cancel_freev(nilfs->ns_sufile, nilfs 1806 fs/nilfs2/segment.c static void nilfs_set_next_segment(struct the_nilfs *nilfs, nilfs 1809 fs/nilfs2/segment.c nilfs->ns_segnum = segbuf->sb_segnum; nilfs 1810 fs/nilfs2/segment.c nilfs->ns_nextnum = segbuf->sb_nextnum; nilfs 1811 fs/nilfs2/segment.c nilfs->ns_pseg_offset = segbuf->sb_pseg_start - segbuf->sb_fseg_start nilfs 1813 fs/nilfs2/segment.c nilfs->ns_seg_seq = segbuf->sb_sum.seg_seq; nilfs 1814 fs/nilfs2/segment.c nilfs->ns_ctime = segbuf->sb_sum.ctime; nilfs 1821 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 1894 fs/nilfs2/segment.c nilfs->ns_nongc_ctime = sci->sc_seg_ctime; nilfs 1899 fs/nilfs2/segment.c nilfs_set_next_segment(nilfs, segbuf); nilfs 1902 fs/nilfs2/segment.c nilfs->ns_flushed_device = 0; nilfs 1903 fs/nilfs2/segment.c nilfs_set_last_segment(nilfs, segbuf->sb_pseg_start, nilfs 1904 fs/nilfs2/segment.c segbuf->sb_sum.seg_seq, nilfs->ns_cno++); nilfs 1927 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 1932 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 1934 fs/nilfs2/segment.c list_for_each_entry_safe(ii, n, &nilfs->ns_dirty_files, i_dirty) { nilfs 1939 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 1948 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 1964 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 1970 fs/nilfs2/segment.c struct the_nilfs *nilfs) nilfs 1976 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 1994 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 1996 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 1999 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 2010 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 2014 fs/nilfs2/segment.c sci->sc_cno = nilfs->ns_cno; nilfs 2016 fs/nilfs2/segment.c err = nilfs_segctor_collect_dirty_files(sci, nilfs); nilfs 2020 fs/nilfs2/segment.c if (nilfs_test_metadata_dirty(nilfs, sci->sc_root)) nilfs 2029 fs/nilfs2/segment.c err = nilfs_segctor_begin_construction(sci, nilfs); nilfs 2036 fs/nilfs2/segment.c err = nilfs_segctor_collect(sci, nilfs, mode); nilfs 2043 fs/nilfs2/segment.c nilfs_segctor_abort_construction(sci, nilfs, 1); nilfs 2060 fs/nilfs2/segment.c nilfs_segctor_fill_in_super_root(sci, nilfs); nilfs 2062 fs/nilfs2/segment.c nilfs_segctor_update_segusage(sci, nilfs->ns_sufile); nilfs 2068 fs/nilfs2/segment.c nilfs->ns_crc_seed); nilfs 2070 fs/nilfs2/segment.c err = nilfs_segctor_write(sci, nilfs); nilfs 2075 fs/nilfs2/segment.c nilfs->ns_blocksize_bits != PAGE_SHIFT) { nilfs 2090 fs/nilfs2/segment.c nilfs_segctor_drop_written_files(sci, nilfs); nilfs 2100 fs/nilfs2/segment.c nilfs_segctor_abort_construction(sci, nilfs, err); nilfs 2143 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2144 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 2232 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2233 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 2270 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2271 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 2283 fs/nilfs2/segment.c nilfs_test_opt(nilfs, STRICT_ORDER) || nilfs 2285 fs/nilfs2/segment.c nilfs_discontinued(nilfs)) { nilfs 2291 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 2294 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 2298 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 2305 fs/nilfs2/segment.c nilfs->ns_flushed_device = 0; nilfs 2363 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 2369 fs/nilfs2/segment.c if (nilfs_discontinued(nilfs)) nilfs 2376 fs/nilfs2/segment.c atomic_set(&nilfs->ns_ndirtyblks, 0); nilfs 2378 fs/nilfs2/segment.c nilfs_discontinued(nilfs)) { nilfs 2379 fs/nilfs2/segment.c down_write(&nilfs->ns_sem); nilfs 2382 fs/nilfs2/segment.c nilfs_sb_will_flip(nilfs)); nilfs 2384 fs/nilfs2/segment.c nilfs_set_log_cursor(sbp[0], nilfs); nilfs 2388 fs/nilfs2/segment.c up_write(&nilfs->ns_sem); nilfs 2404 fs/nilfs2/segment.c nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head) nilfs 2421 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2422 fs/nilfs2/segment.c struct nilfs_sc_info *sci = nilfs->ns_writer; nilfs 2431 fs/nilfs2/segment.c err = nilfs_mdt_save_to_shadow_map(nilfs->ns_dat); nilfs 2435 fs/nilfs2/segment.c err = nilfs_ioctl_prepare_clean_segments(nilfs, argv, kbufs); nilfs 2437 fs/nilfs2/segment.c nilfs_mdt_restore_from_shadow_map(nilfs->ns_dat); nilfs 2443 fs/nilfs2/segment.c list_splice_tail_init(&nilfs->ns_gc_inodes, &sci->sc_gc_inodes); nilfs 2447 fs/nilfs2/segment.c nilfs_remove_written_gcinodes(nilfs, &sci->sc_gc_inodes); nilfs 2456 fs/nilfs2/segment.c if (nilfs_test_opt(nilfs, DISCARD)) { nilfs 2457 fs/nilfs2/segment.c int ret = nilfs_discard_segments(nilfs, sci->sc_freesegs, nilfs 2463 fs/nilfs2/segment.c nilfs_clear_opt(nilfs, DISCARD); nilfs 2470 fs/nilfs2/segment.c nilfs_mdt_clear_shadow_map(nilfs->ns_dat); nilfs 2535 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 2597 fs/nilfs2/segment.c if (nilfs_sb_dirty(nilfs) && nilfs_sb_need_update(nilfs)) nilfs 2598 fs/nilfs2/segment.c set_nilfs_discontinued(nilfs); nilfs 2647 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2675 fs/nilfs2/segment.c if (nilfs->ns_interval) nilfs 2676 fs/nilfs2/segment.c sci->sc_interval = HZ * nilfs->ns_interval; nilfs 2677 fs/nilfs2/segment.c if (nilfs->ns_watermark) nilfs 2678 fs/nilfs2/segment.c sci->sc_watermark = nilfs->ns_watermark; nilfs 2712 fs/nilfs2/segment.c struct the_nilfs *nilfs = sci->sc_super->s_fs_info; nilfs 2715 fs/nilfs2/segment.c up_write(&nilfs->ns_segctor_sem); nilfs 2732 fs/nilfs2/segment.c nilfs_dispose_list(nilfs, &sci->sc_dirty_files, 1); nilfs 2738 fs/nilfs2/segment.c nilfs_dispose_list(nilfs, &sci->sc_iput_queue, 1); nilfs 2746 fs/nilfs2/segment.c down_write(&nilfs->ns_segctor_sem); nilfs 2767 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2770 fs/nilfs2/segment.c if (nilfs->ns_writer) { nilfs 2779 fs/nilfs2/segment.c nilfs->ns_writer = nilfs_segctor_new(sb, root); nilfs 2780 fs/nilfs2/segment.c if (!nilfs->ns_writer) nilfs 2783 fs/nilfs2/segment.c inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL); nilfs 2785 fs/nilfs2/segment.c err = nilfs_segctor_start_thread(nilfs->ns_writer); nilfs 2787 fs/nilfs2/segment.c kfree(nilfs->ns_writer); nilfs 2788 fs/nilfs2/segment.c nilfs->ns_writer = NULL; nilfs 2802 fs/nilfs2/segment.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 2805 fs/nilfs2/segment.c down_write(&nilfs->ns_segctor_sem); nilfs 2806 fs/nilfs2/segment.c if (nilfs->ns_writer) { nilfs 2807 fs/nilfs2/segment.c nilfs_segctor_destroy(nilfs->ns_writer); nilfs 2808 fs/nilfs2/segment.c nilfs->ns_writer = NULL; nilfs 2812 fs/nilfs2/segment.c spin_lock(&nilfs->ns_inode_lock); nilfs 2813 fs/nilfs2/segment.c if (!list_empty(&nilfs->ns_dirty_files)) { nilfs 2814 fs/nilfs2/segment.c list_splice_init(&nilfs->ns_dirty_files, &garbage_list); nilfs 2818 fs/nilfs2/segment.c spin_unlock(&nilfs->ns_inode_lock); nilfs 2819 fs/nilfs2/segment.c up_write(&nilfs->ns_segctor_sem); nilfs 2821 fs/nilfs2/segment.c nilfs_dispose_list(nilfs, &garbage_list, 1); nilfs 245 fs/nilfs2/segment.h int nilfs_salvage_orphan_logs(struct the_nilfs *nilfs, struct super_block *sb, nilfs 569 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 584 fs/nilfs2/sufile.c sustat->ss_ctime = nilfs->ns_ctime; nilfs 585 fs/nilfs2/sufile.c sustat->ss_nongc_ctime = nilfs->ns_nongc_ctime; nilfs 586 fs/nilfs2/sufile.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 587 fs/nilfs2/sufile.c sustat->ss_prot_seq = nilfs->ns_prot_seq; nilfs 588 fs/nilfs2/sufile.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 643 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 689 fs/nilfs2/sufile.c nilfs_segment_is_active(nilfs, segnum + j)) { nilfs 746 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 761 fs/nilfs2/sufile.c nrsvsegs = nilfs_nrsvsegs(nilfs, newnsegs); nilfs 786 fs/nilfs2/sufile.c nilfs_set_nsegments(nilfs, newnsegs); nilfs 819 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 856 fs/nilfs2/sufile.c if (nilfs_segment_is_active(nilfs, segnum + j)) nilfs 893 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 907 fs/nilfs2/sufile.c if (sup->sup_segnum >= nilfs->ns_nsegments nilfs 912 fs/nilfs2/sufile.c nilfs->ns_blocks_per_segment)) nilfs 1019 fs/nilfs2/sufile.c struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; nilfs 1030 fs/nilfs2/sufile.c sects_per_block = (1 << nilfs->ns_blocksize_bits) / nilfs 1031 fs/nilfs2/sufile.c bdev_logical_block_size(nilfs->ns_bdev); nilfs 1032 fs/nilfs2/sufile.c len = range->len >> nilfs->ns_blocksize_bits; nilfs 1033 fs/nilfs2/sufile.c minlen = range->minlen >> nilfs->ns_blocksize_bits; nilfs 1034 fs/nilfs2/sufile.c max_blocks = ((u64)nilfs->ns_nsegments * nilfs->ns_blocks_per_segment); nilfs 1036 fs/nilfs2/sufile.c if (!len || range->start >= max_blocks << nilfs->ns_blocksize_bits) nilfs 1039 fs/nilfs2/sufile.c start_block = (range->start + nilfs->ns_blocksize - 1) >> nilfs 1040 fs/nilfs2/sufile.c nilfs->ns_blocksize_bits; nilfs 1052 fs/nilfs2/sufile.c segnum = nilfs_get_segnum_of_block(nilfs, start_block); nilfs 1053 fs/nilfs2/sufile.c segnum_end = nilfs_get_segnum_of_block(nilfs, end_block); nilfs 1078 fs/nilfs2/sufile.c nilfs_get_segment_range(nilfs, segnum, &seg_start, nilfs 1103 fs/nilfs2/sufile.c ret = blkdev_issue_discard(nilfs->ns_bdev, nilfs 1137 fs/nilfs2/sufile.c ret = blkdev_issue_discard(nilfs->ns_bdev, nilfs 1149 fs/nilfs2/sufile.c range->len = ndiscarded << nilfs->ns_blocksize_bits; nilfs 83 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 86 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 87 fs/nilfs2/super.c if (!(nilfs->ns_mount_state & NILFS_ERROR_FS)) { nilfs 88 fs/nilfs2/super.c nilfs->ns_mount_state |= NILFS_ERROR_FS; nilfs 97 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 116 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 133 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, ERRORS_RO)) { nilfs 139 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, ERRORS_PANIC)) nilfs 168 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 172 fs/nilfs2/super.c set_buffer_dirty(nilfs->ns_sbh[0]); nilfs 173 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, BARRIER)) { nilfs 174 fs/nilfs2/super.c err = __sync_dirty_buffer(nilfs->ns_sbh[0], nilfs 177 fs/nilfs2/super.c err = sync_dirty_buffer(nilfs->ns_sbh[0]); nilfs 183 fs/nilfs2/super.c if (err == -EIO && nilfs->ns_sbh[1]) { nilfs 188 fs/nilfs2/super.c memcpy(nilfs->ns_sbp[1], nilfs->ns_sbp[0], nilfs 189 fs/nilfs2/super.c nilfs->ns_sbsize); nilfs 190 fs/nilfs2/super.c nilfs_fall_back_super_block(nilfs); nilfs 194 fs/nilfs2/super.c struct nilfs_super_block *sbp = nilfs->ns_sbp[0]; nilfs 196 fs/nilfs2/super.c nilfs->ns_sbwcount++; nilfs 202 fs/nilfs2/super.c clear_nilfs_discontinued(nilfs); nilfs 205 fs/nilfs2/super.c if (nilfs->ns_sbh[1]) { nilfs 207 fs/nilfs2/super.c set_buffer_dirty(nilfs->ns_sbh[1]); nilfs 208 fs/nilfs2/super.c if (sync_dirty_buffer(nilfs->ns_sbh[1]) < 0) nilfs 211 fs/nilfs2/super.c if (le64_to_cpu(nilfs->ns_sbp[1]->s_last_cno) < nilfs 212 fs/nilfs2/super.c le64_to_cpu(nilfs->ns_sbp[0]->s_last_cno)) nilfs 213 fs/nilfs2/super.c sbp = nilfs->ns_sbp[1]; nilfs 216 fs/nilfs2/super.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 217 fs/nilfs2/super.c nilfs->ns_prot_seq = le64_to_cpu(sbp->s_last_seq); nilfs 218 fs/nilfs2/super.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 225 fs/nilfs2/super.c struct the_nilfs *nilfs) nilfs 230 fs/nilfs2/super.c nilfs_count_free_blocks(nilfs, &nfreeblocks); nilfs 233 fs/nilfs2/super.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 234 fs/nilfs2/super.c sbp->s_last_seq = cpu_to_le64(nilfs->ns_last_seq); nilfs 235 fs/nilfs2/super.c sbp->s_last_pseg = cpu_to_le64(nilfs->ns_last_pseg); nilfs 236 fs/nilfs2/super.c sbp->s_last_cno = cpu_to_le64(nilfs->ns_last_cno); nilfs 237 fs/nilfs2/super.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 243 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 244 fs/nilfs2/super.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 250 fs/nilfs2/super.c memcpy(sbp[0], sbp[1], nilfs->ns_sbsize); nilfs 257 fs/nilfs2/super.c memcpy(sbp[1], sbp[0], nilfs->ns_sbsize); nilfs 261 fs/nilfs2/super.c nilfs_swap_super_block(nilfs); nilfs 268 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 269 fs/nilfs2/super.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 274 fs/nilfs2/super.c nilfs->ns_sbwtime = t; nilfs 277 fs/nilfs2/super.c sbp[0]->s_sum = cpu_to_le32(crc32_le(nilfs->ns_crc_seed, nilfs 279 fs/nilfs2/super.c nilfs->ns_sbsize)); nilfs 283 fs/nilfs2/super.c sbp[1]->s_sum = cpu_to_le32(crc32_le(nilfs->ns_crc_seed, nilfs 285 fs/nilfs2/super.c nilfs->ns_sbsize)); nilfs 287 fs/nilfs2/super.c clear_nilfs_sb_dirty(nilfs); nilfs 288 fs/nilfs2/super.c nilfs->ns_flushed_device = 1; nilfs 304 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 311 fs/nilfs2/super.c sbp[0]->s_state = cpu_to_le16(nilfs->ns_mount_state); nilfs 312 fs/nilfs2/super.c nilfs_set_log_cursor(sbp[0], nilfs); nilfs 334 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 343 fs/nilfs2/super.c if (nilfs->ns_sbh[1] && nilfs 344 fs/nilfs2/super.c nilfs->ns_sbh[1]->b_blocknr > nilfs->ns_first_data_block) { nilfs 346 fs/nilfs2/super.c blocknr = nilfs->ns_sbh[1]->b_blocknr; nilfs 347 fs/nilfs2/super.c } else if (nilfs->ns_sbh[0]->b_blocknr > nilfs->ns_first_data_block) { nilfs 349 fs/nilfs2/super.c blocknr = nilfs->ns_sbh[0]->b_blocknr; nilfs 354 fs/nilfs2/super.c if (sb2i >= 0 && (u64)blocknr << nilfs->ns_blocksize_bits == sb2off) nilfs 358 fs/nilfs2/super.c newblocknr = sb2off >> nilfs->ns_blocksize_bits; nilfs 359 fs/nilfs2/super.c offset = sb2off & (nilfs->ns_blocksize - 1); nilfs 369 fs/nilfs2/super.c memset(nsbp, 0, nilfs->ns_blocksize); nilfs 372 fs/nilfs2/super.c memcpy(nsbp, nilfs->ns_sbp[sb2i], nilfs->ns_sbsize); nilfs 373 fs/nilfs2/super.c brelse(nilfs->ns_sbh[sb2i]); nilfs 374 fs/nilfs2/super.c nilfs->ns_sbh[sb2i] = nsbh; nilfs 375 fs/nilfs2/super.c nilfs->ns_sbp[sb2i] = nsbp; nilfs 376 fs/nilfs2/super.c } else if (nilfs->ns_sbh[0]->b_blocknr < nilfs->ns_first_data_block) { nilfs 378 fs/nilfs2/super.c nilfs->ns_sbh[1] = nsbh; nilfs 379 fs/nilfs2/super.c nilfs->ns_sbp[1] = nsbp; nilfs 394 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 410 fs/nilfs2/super.c down_write(&nilfs->ns_segctor_sem); nilfs 413 fs/nilfs2/super.c newnsegs = sb2off >> nilfs->ns_blocksize_bits; nilfs 414 fs/nilfs2/super.c do_div(newnsegs, nilfs->ns_blocks_per_segment); nilfs 416 fs/nilfs2/super.c ret = nilfs_sufile_resize(nilfs->ns_sufile, newnsegs); nilfs 417 fs/nilfs2/super.c up_write(&nilfs->ns_segctor_sem); nilfs 425 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 430 fs/nilfs2/super.c nilfs_set_log_cursor(sbp[0], nilfs); nilfs 439 fs/nilfs2/super.c sbp[0]->s_nsegments = cpu_to_le64(nilfs->ns_nsegments); nilfs 441 fs/nilfs2/super.c memcpy(sbp[1], sbp[0], nilfs->ns_sbsize); nilfs 444 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 453 fs/nilfs2/super.c nilfs_sufile_set_alloc_range(nilfs->ns_sufile, 0, newnsegs - 1); nilfs 460 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 465 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 467 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 470 fs/nilfs2/super.c iput(nilfs->ns_sufile); nilfs 471 fs/nilfs2/super.c iput(nilfs->ns_cpfile); nilfs 472 fs/nilfs2/super.c iput(nilfs->ns_dat); nilfs 474 fs/nilfs2/super.c destroy_nilfs(nilfs); nilfs 480 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 488 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 489 fs/nilfs2/super.c if (nilfs_sb_dirty(nilfs)) { nilfs 490 fs/nilfs2/super.c sbp = nilfs_prepare_super(sb, nilfs_sb_will_flip(nilfs)); nilfs 492 fs/nilfs2/super.c nilfs_set_log_cursor(sbp[0], nilfs); nilfs 496 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 499 fs/nilfs2/super.c err = nilfs_flush_device(nilfs); nilfs 507 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 514 fs/nilfs2/super.c nilfs, curr_mnt ? NILFS_CPTREE_CURRENT_CNO : cno); nilfs 521 fs/nilfs2/super.c down_read(&nilfs->ns_segctor_sem); nilfs 522 fs/nilfs2/super.c err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, cno, 0, &raw_cp, nilfs 524 fs/nilfs2/super.c up_read(&nilfs->ns_segctor_sem); nilfs 535 fs/nilfs2/super.c err = nilfs_ifile_read(sb, root, nilfs->ns_inode_size, nilfs 545 fs/nilfs2/super.c nilfs_cpfile_put_checkpoint(nilfs->ns_cpfile, cno, bh_cp); nilfs 552 fs/nilfs2/super.c nilfs_cpfile_put_checkpoint(nilfs->ns_cpfile, cno, bh_cp); nilfs 561 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 568 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 570 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 576 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 581 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 583 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 591 fs/nilfs2/super.c struct the_nilfs *nilfs = root->nilfs; nilfs 606 fs/nilfs2/super.c blocks = nilfs->ns_blocks_per_segment * nilfs->ns_nsegments nilfs 607 fs/nilfs2/super.c - nilfs->ns_first_data_block; nilfs 608 fs/nilfs2/super.c nrsvblocks = nilfs->ns_nrsvsegs * nilfs->ns_blocks_per_segment; nilfs 618 fs/nilfs2/super.c err = nilfs_count_free_blocks(nilfs, &nfreeblocks); nilfs 659 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 662 fs/nilfs2/super.c if (!nilfs_test_opt(nilfs, BARRIER)) nilfs 666 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, ERRORS_PANIC)) nilfs 668 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, ERRORS_CONT)) nilfs 670 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, STRICT_ORDER)) nilfs 672 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, NORECOVERY)) nilfs 674 fs/nilfs2/super.c if (nilfs_test_opt(nilfs, DISCARD)) nilfs 716 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 732 fs/nilfs2/super.c nilfs_set_opt(nilfs, BARRIER); nilfs 735 fs/nilfs2/super.c nilfs_clear_opt(nilfs, BARRIER); nilfs 740 fs/nilfs2/super.c nilfs_clear_opt(nilfs, STRICT_ORDER); nilfs 743 fs/nilfs2/super.c nilfs_set_opt(nilfs, STRICT_ORDER); nilfs 748 fs/nilfs2/super.c nilfs_write_opt(nilfs, ERROR_MODE, ERRORS_PANIC); nilfs 751 fs/nilfs2/super.c nilfs_write_opt(nilfs, ERROR_MODE, ERRORS_RO); nilfs 754 fs/nilfs2/super.c nilfs_write_opt(nilfs, ERROR_MODE, ERRORS_CONT); nilfs 765 fs/nilfs2/super.c nilfs_set_opt(nilfs, NORECOVERY); nilfs 768 fs/nilfs2/super.c nilfs_set_opt(nilfs, DISCARD); nilfs 771 fs/nilfs2/super.c nilfs_clear_opt(nilfs, DISCARD); nilfs 786 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 788 fs/nilfs2/super.c nilfs->ns_mount_opt = nilfs 794 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 810 fs/nilfs2/super.c if (nilfs->ns_mount_state & NILFS_ERROR_FS) { nilfs 828 fs/nilfs2/super.c memcpy(sbp[1], sbp[0], nilfs->ns_sbsize); nilfs 850 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 861 fs/nilfs2/super.c nilfs->ns_resuid = le16_to_cpu(sbp->s_def_resuid); nilfs 862 fs/nilfs2/super.c nilfs->ns_resgid = le16_to_cpu(sbp->s_def_resgid); nilfs 863 fs/nilfs2/super.c nilfs->ns_interval = le32_to_cpu(sbp->s_c_interval); nilfs 864 fs/nilfs2/super.c nilfs->ns_watermark = le32_to_cpu(sbp->s_c_block_max); nilfs 944 fs/nilfs2/super.c struct the_nilfs *nilfs = s->s_fs_info; nilfs 948 fs/nilfs2/super.c mutex_lock(&nilfs->ns_snapshot_mount_mutex); nilfs 950 fs/nilfs2/super.c down_read(&nilfs->ns_segctor_sem); nilfs 951 fs/nilfs2/super.c ret = nilfs_cpfile_is_snapshot(nilfs->ns_cpfile, cno); nilfs 952 fs/nilfs2/super.c up_read(&nilfs->ns_segctor_sem); nilfs 974 fs/nilfs2/super.c mutex_unlock(&nilfs->ns_snapshot_mount_mutex); nilfs 992 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 998 fs/nilfs2/super.c if (cno > nilfs->ns_cno) nilfs 1001 fs/nilfs2/super.c if (cno >= nilfs_last_cno(nilfs)) nilfs 1005 fs/nilfs2/super.c root = nilfs_lookup_root(nilfs, cno); nilfs 1033 fs/nilfs2/super.c struct the_nilfs *nilfs; nilfs 1038 fs/nilfs2/super.c nilfs = alloc_nilfs(sb); nilfs 1039 fs/nilfs2/super.c if (!nilfs) nilfs 1042 fs/nilfs2/super.c sb->s_fs_info = nilfs; nilfs 1044 fs/nilfs2/super.c err = init_nilfs(nilfs, sb, (char *)data); nilfs 1056 fs/nilfs2/super.c err = load_nilfs(nilfs, sb); nilfs 1060 fs/nilfs2/super.c cno = nilfs_last_cno(nilfs); nilfs 1082 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 1084 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 1096 fs/nilfs2/super.c iput(nilfs->ns_sufile); nilfs 1097 fs/nilfs2/super.c iput(nilfs->ns_cpfile); nilfs 1098 fs/nilfs2/super.c iput(nilfs->ns_dat); nilfs 1101 fs/nilfs2/super.c destroy_nilfs(nilfs); nilfs 1107 fs/nilfs2/super.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 1114 fs/nilfs2/super.c old_mount_opt = nilfs->ns_mount_opt; nilfs 1124 fs/nilfs2/super.c if (!nilfs_valid_fs(nilfs)) { nilfs 1141 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 1143 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 1153 fs/nilfs2/super.c down_read(&nilfs->ns_sem); nilfs 1154 fs/nilfs2/super.c features = le64_to_cpu(nilfs->ns_sbp[0]->s_feature_compat_ro) & nilfs 1156 fs/nilfs2/super.c up_read(&nilfs->ns_sem); nilfs 1172 fs/nilfs2/super.c down_write(&nilfs->ns_sem); nilfs 1174 fs/nilfs2/super.c up_write(&nilfs->ns_sem); nilfs 1181 fs/nilfs2/super.c nilfs->ns_mount_opt = old_mount_opt; nilfs 39 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj->parent, \ nilfs 45 fs/nilfs2/sysfs.c return a->show ? a->show(a, nilfs, buf) : 0; \ nilfs 51 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj->parent, \ nilfs 57 fs/nilfs2/sysfs.c return a->store ? a->store(a, nilfs, buf, len) : 0; \ nilfs 68 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj->parent, \ nilfs 71 fs/nilfs2/sysfs.c subgroups = nilfs->ns_##parent_name##_subgroups; \ nilfs 81 fs/nilfs2/sysfs.c static int nilfs_sysfs_create_##name##_group(struct the_nilfs *nilfs) \ nilfs 88 fs/nilfs2/sysfs.c subgroups = nilfs->ns_##parent_name##_subgroups; \ nilfs 91 fs/nilfs2/sysfs.c parent = &nilfs->ns_##parent_name##_kobj; \ nilfs 100 fs/nilfs2/sysfs.c static void nilfs_sysfs_delete_##name##_group(struct the_nilfs *nilfs) \ nilfs 102 fs/nilfs2/sysfs.c kobject_del(&nilfs->ns_##parent_name##_subgroups->sg_##name##_kobj); \ nilfs 191 fs/nilfs2/sysfs.c struct the_nilfs *nilfs; nilfs 195 fs/nilfs2/sysfs.c nilfs = root->nilfs; nilfs 196 fs/nilfs2/sysfs.c parent = &nilfs->ns_dev_subgroups->sg_mounted_snapshots_kobj; nilfs 203 fs/nilfs2/sysfs.c &nilfs->ns_dev_kobj, nilfs 233 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, char *buf) nilfs 255 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 262 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 263 fs/nilfs2/sysfs.c err = nilfs_cpfile_get_stat(nilfs->ns_cpfile, &cpstat); nilfs 264 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 266 fs/nilfs2/sysfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 278 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 285 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 286 fs/nilfs2/sysfs.c err = nilfs_cpfile_get_stat(nilfs->ns_cpfile, &cpstat); nilfs 287 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 289 fs/nilfs2/sysfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 301 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 306 fs/nilfs2/sysfs.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 307 fs/nilfs2/sysfs.c last_cno = nilfs->ns_last_cno; nilfs 308 fs/nilfs2/sysfs.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 315 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 320 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 321 fs/nilfs2/sysfs.c cno = nilfs->ns_cno; nilfs 322 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 338 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, char *buf) nilfs 368 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 371 fs/nilfs2/sysfs.c return snprintf(buf, PAGE_SIZE, "%lu\n", nilfs->ns_nsegments); nilfs 376 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 379 fs/nilfs2/sysfs.c return snprintf(buf, PAGE_SIZE, "%lu\n", nilfs->ns_blocks_per_segment); nilfs 384 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 389 fs/nilfs2/sysfs.c down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 390 fs/nilfs2/sysfs.c ncleansegs = nilfs_sufile_get_ncleansegs(nilfs->ns_sufile); nilfs 391 fs/nilfs2/sysfs.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 398 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 404 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 405 fs/nilfs2/sysfs.c err = nilfs_sufile_get_stat(nilfs->ns_sufile, &sustat); nilfs 406 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 408 fs/nilfs2/sysfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 426 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 457 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 462 fs/nilfs2/sysfs.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 463 fs/nilfs2/sysfs.c last_pseg = nilfs->ns_last_pseg; nilfs 464 fs/nilfs2/sysfs.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 472 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 477 fs/nilfs2/sysfs.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 478 fs/nilfs2/sysfs.c last_seq = nilfs->ns_last_seq; nilfs 479 fs/nilfs2/sysfs.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 486 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 491 fs/nilfs2/sysfs.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 492 fs/nilfs2/sysfs.c last_cno = nilfs->ns_last_cno; nilfs 493 fs/nilfs2/sysfs.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 500 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 505 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 506 fs/nilfs2/sysfs.c seg_seq = nilfs->ns_seg_seq; nilfs 507 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 514 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 519 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 520 fs/nilfs2/sysfs.c segnum = nilfs->ns_segnum; nilfs 521 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 528 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 533 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 534 fs/nilfs2/sysfs.c nextnum = nilfs->ns_nextnum; nilfs 535 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 542 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 547 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 548 fs/nilfs2/sysfs.c pseg_offset = nilfs->ns_pseg_offset; nilfs 549 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 556 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 561 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 562 fs/nilfs2/sysfs.c cno = nilfs->ns_cno; nilfs 563 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 570 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 575 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 576 fs/nilfs2/sysfs.c ctime = nilfs->ns_ctime; nilfs 577 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 584 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 589 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 590 fs/nilfs2/sysfs.c ctime = nilfs->ns_ctime; nilfs 591 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 598 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 603 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 604 fs/nilfs2/sysfs.c nongc_ctime = nilfs->ns_nongc_ctime; nilfs 605 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 612 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 617 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 618 fs/nilfs2/sysfs.c nongc_ctime = nilfs->ns_nongc_ctime; nilfs 619 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 626 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 631 fs/nilfs2/sysfs.c down_read(&nilfs->ns_segctor_sem); nilfs 632 fs/nilfs2/sysfs.c ndirtyblks = atomic_read(&nilfs->ns_ndirtyblks); nilfs 633 fs/nilfs2/sysfs.c up_read(&nilfs->ns_segctor_sem); nilfs 670 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, char *buf) nilfs 718 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 723 fs/nilfs2/sysfs.c down_read(&nilfs->ns_sem); nilfs 724 fs/nilfs2/sysfs.c sbwtime = nilfs->ns_sbwtime; nilfs 725 fs/nilfs2/sysfs.c up_read(&nilfs->ns_sem); nilfs 732 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 737 fs/nilfs2/sysfs.c down_read(&nilfs->ns_sem); nilfs 738 fs/nilfs2/sysfs.c sbwtime = nilfs->ns_sbwtime; nilfs 739 fs/nilfs2/sysfs.c up_read(&nilfs->ns_sem); nilfs 746 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 751 fs/nilfs2/sysfs.c down_read(&nilfs->ns_sem); nilfs 752 fs/nilfs2/sysfs.c sbwcount = nilfs->ns_sbwcount; nilfs 753 fs/nilfs2/sysfs.c up_read(&nilfs->ns_sem); nilfs 760 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 765 fs/nilfs2/sysfs.c down_read(&nilfs->ns_sem); nilfs 766 fs/nilfs2/sysfs.c sb_update_freq = nilfs->ns_sb_update_freq; nilfs 767 fs/nilfs2/sysfs.c up_read(&nilfs->ns_sem); nilfs 774 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 782 fs/nilfs2/sysfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 789 fs/nilfs2/sysfs.c nilfs_msg(nilfs->ns_sb, KERN_WARNING, nilfs 793 fs/nilfs2/sysfs.c down_write(&nilfs->ns_sem); nilfs 794 fs/nilfs2/sysfs.c nilfs->ns_sb_update_freq = val; nilfs 795 fs/nilfs2/sysfs.c up_write(&nilfs->ns_sem); nilfs 815 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, char *buf) nilfs 845 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 848 fs/nilfs2/sysfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 857 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 860 fs/nilfs2/sysfs.c return snprintf(buf, PAGE_SIZE, "%u\n", nilfs->ns_blocksize); nilfs 865 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 868 fs/nilfs2/sysfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 876 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 881 fs/nilfs2/sysfs.c nilfs_count_free_blocks(nilfs, &free_blocks); nilfs 888 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 891 fs/nilfs2/sysfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 898 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 901 fs/nilfs2/sysfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 918 fs/nilfs2/sysfs.c struct the_nilfs *nilfs, nilfs 946 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj, struct the_nilfs, nilfs 951 fs/nilfs2/sysfs.c return a->show ? a->show(a, nilfs, buf) : 0; nilfs 958 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj, struct the_nilfs, nilfs 963 fs/nilfs2/sysfs.c return a->store ? a->store(a, nilfs, buf, len) : 0; nilfs 968 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = container_of(kobj, struct the_nilfs, nilfs 970 fs/nilfs2/sysfs.c complete(&nilfs->ns_dev_kobj_unregister); nilfs 986 fs/nilfs2/sysfs.c struct the_nilfs *nilfs = sb->s_fs_info; nilfs 990 fs/nilfs2/sysfs.c nilfs->ns_dev_subgroups = kzalloc(devgrp_size, GFP_KERNEL); nilfs 991 fs/nilfs2/sysfs.c if (unlikely(!nilfs->ns_dev_subgroups)) { nilfs 998 fs/nilfs2/sysfs.c nilfs->ns_dev_kobj.kset = nilfs_kset; nilfs 999 fs/nilfs2/sysfs.c init_completion(&nilfs->ns_dev_kobj_unregister); nilfs 1000 fs/nilfs2/sysfs.c err = kobject_init_and_add(&nilfs->ns_dev_kobj, &nilfs_dev_ktype, NULL, nilfs 1005 fs/nilfs2/sysfs.c err = nilfs_sysfs_create_mounted_snapshots_group(nilfs); nilfs 1009 fs/nilfs2/sysfs.c err = nilfs_sysfs_create_checkpoints_group(nilfs); nilfs 1013 fs/nilfs2/sysfs.c err = nilfs_sysfs_create_segments_group(nilfs); nilfs 1017 fs/nilfs2/sysfs.c err = nilfs_sysfs_create_superblock_group(nilfs); nilfs 1021 fs/nilfs2/sysfs.c err = nilfs_sysfs_create_segctor_group(nilfs); nilfs 1028 fs/nilfs2/sysfs.c nilfs_sysfs_delete_superblock_group(nilfs); nilfs 1031 fs/nilfs2/sysfs.c nilfs_sysfs_delete_segments_group(nilfs); nilfs 1034 fs/nilfs2/sysfs.c nilfs_sysfs_delete_checkpoints_group(nilfs); nilfs 1037 fs/nilfs2/sysfs.c nilfs_sysfs_delete_mounted_snapshots_group(nilfs); nilfs 1040 fs/nilfs2/sysfs.c kobject_del(&nilfs->ns_dev_kobj); nilfs 1043 fs/nilfs2/sysfs.c kfree(nilfs->ns_dev_subgroups); nilfs 1049 fs/nilfs2/sysfs.c void nilfs_sysfs_delete_device_group(struct the_nilfs *nilfs) nilfs 1051 fs/nilfs2/sysfs.c nilfs_sysfs_delete_mounted_snapshots_group(nilfs); nilfs 1052 fs/nilfs2/sysfs.c nilfs_sysfs_delete_checkpoints_group(nilfs); nilfs 1053 fs/nilfs2/sysfs.c nilfs_sysfs_delete_segments_group(nilfs); nilfs 1054 fs/nilfs2/sysfs.c nilfs_sysfs_delete_superblock_group(nilfs); nilfs 1055 fs/nilfs2/sysfs.c nilfs_sysfs_delete_segctor_group(nilfs); nilfs 1056 fs/nilfs2/sysfs.c kobject_del(&nilfs->ns_dev_kobj); nilfs 1057 fs/nilfs2/sysfs.c kfree(nilfs->ns_dev_subgroups); nilfs 28 fs/nilfs2/the_nilfs.c void nilfs_set_last_segment(struct the_nilfs *nilfs, nilfs 31 fs/nilfs2/the_nilfs.c spin_lock(&nilfs->ns_last_segment_lock); nilfs 32 fs/nilfs2/the_nilfs.c nilfs->ns_last_pseg = start_blocknr; nilfs 33 fs/nilfs2/the_nilfs.c nilfs->ns_last_seq = seq; nilfs 34 fs/nilfs2/the_nilfs.c nilfs->ns_last_cno = cno; nilfs 36 fs/nilfs2/the_nilfs.c if (!nilfs_sb_dirty(nilfs)) { nilfs 37 fs/nilfs2/the_nilfs.c if (nilfs->ns_prev_seq == nilfs->ns_last_seq) nilfs 40 fs/nilfs2/the_nilfs.c set_nilfs_sb_dirty(nilfs); nilfs 42 fs/nilfs2/the_nilfs.c nilfs->ns_prev_seq = nilfs->ns_last_seq; nilfs 45 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_last_segment_lock); nilfs 57 fs/nilfs2/the_nilfs.c struct the_nilfs *nilfs; nilfs 59 fs/nilfs2/the_nilfs.c nilfs = kzalloc(sizeof(*nilfs), GFP_KERNEL); nilfs 60 fs/nilfs2/the_nilfs.c if (!nilfs) nilfs 63 fs/nilfs2/the_nilfs.c nilfs->ns_sb = sb; nilfs 64 fs/nilfs2/the_nilfs.c nilfs->ns_bdev = sb->s_bdev; nilfs 65 fs/nilfs2/the_nilfs.c atomic_set(&nilfs->ns_ndirtyblks, 0); nilfs 66 fs/nilfs2/the_nilfs.c init_rwsem(&nilfs->ns_sem); nilfs 67 fs/nilfs2/the_nilfs.c mutex_init(&nilfs->ns_snapshot_mount_mutex); nilfs 68 fs/nilfs2/the_nilfs.c INIT_LIST_HEAD(&nilfs->ns_dirty_files); nilfs 69 fs/nilfs2/the_nilfs.c INIT_LIST_HEAD(&nilfs->ns_gc_inodes); nilfs 70 fs/nilfs2/the_nilfs.c spin_lock_init(&nilfs->ns_inode_lock); nilfs 71 fs/nilfs2/the_nilfs.c spin_lock_init(&nilfs->ns_next_gen_lock); nilfs 72 fs/nilfs2/the_nilfs.c spin_lock_init(&nilfs->ns_last_segment_lock); nilfs 73 fs/nilfs2/the_nilfs.c nilfs->ns_cptree = RB_ROOT; nilfs 74 fs/nilfs2/the_nilfs.c spin_lock_init(&nilfs->ns_cptree_lock); nilfs 75 fs/nilfs2/the_nilfs.c init_rwsem(&nilfs->ns_segctor_sem); nilfs 76 fs/nilfs2/the_nilfs.c nilfs->ns_sb_update_freq = NILFS_SB_FREQ; nilfs 78 fs/nilfs2/the_nilfs.c return nilfs; nilfs 85 fs/nilfs2/the_nilfs.c void destroy_nilfs(struct the_nilfs *nilfs) nilfs 88 fs/nilfs2/the_nilfs.c if (nilfs_init(nilfs)) { nilfs 89 fs/nilfs2/the_nilfs.c nilfs_sysfs_delete_device_group(nilfs); nilfs 90 fs/nilfs2/the_nilfs.c brelse(nilfs->ns_sbh[0]); nilfs 91 fs/nilfs2/the_nilfs.c brelse(nilfs->ns_sbh[1]); nilfs 93 fs/nilfs2/the_nilfs.c kfree(nilfs); nilfs 96 fs/nilfs2/the_nilfs.c static int nilfs_load_super_root(struct the_nilfs *nilfs, nilfs 101 fs/nilfs2/the_nilfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 107 fs/nilfs2/the_nilfs.c err = nilfs_read_super_root_block(nilfs, sr_block, &bh_sr, 1); nilfs 111 fs/nilfs2/the_nilfs.c down_read(&nilfs->ns_sem); nilfs 115 fs/nilfs2/the_nilfs.c up_read(&nilfs->ns_sem); nilfs 117 fs/nilfs2/the_nilfs.c inode_size = nilfs->ns_inode_size; nilfs 120 fs/nilfs2/the_nilfs.c err = nilfs_dat_read(sb, dat_entry_size, rawi, &nilfs->ns_dat); nilfs 125 fs/nilfs2/the_nilfs.c err = nilfs_cpfile_read(sb, checkpoint_size, rawi, &nilfs->ns_cpfile); nilfs 131 fs/nilfs2/the_nilfs.c &nilfs->ns_sufile); nilfs 136 fs/nilfs2/the_nilfs.c nilfs->ns_nongc_ctime = le64_to_cpu(raw_sr->sr_nongc_ctime); nilfs 143 fs/nilfs2/the_nilfs.c iput(nilfs->ns_cpfile); nilfs 146 fs/nilfs2/the_nilfs.c iput(nilfs->ns_dat); nilfs 171 fs/nilfs2/the_nilfs.c static int nilfs_store_log_cursor(struct the_nilfs *nilfs, nilfs 176 fs/nilfs2/the_nilfs.c nilfs->ns_last_pseg = le64_to_cpu(sbp->s_last_pseg); nilfs 177 fs/nilfs2/the_nilfs.c nilfs->ns_last_cno = le64_to_cpu(sbp->s_last_cno); nilfs 178 fs/nilfs2/the_nilfs.c nilfs->ns_last_seq = le64_to_cpu(sbp->s_last_seq); nilfs 180 fs/nilfs2/the_nilfs.c nilfs->ns_prev_seq = nilfs->ns_last_seq; nilfs 181 fs/nilfs2/the_nilfs.c nilfs->ns_seg_seq = nilfs->ns_last_seq; nilfs 182 fs/nilfs2/the_nilfs.c nilfs->ns_segnum = nilfs 183 fs/nilfs2/the_nilfs.c nilfs_get_segnum_of_block(nilfs, nilfs->ns_last_pseg); nilfs 184 fs/nilfs2/the_nilfs.c nilfs->ns_cno = nilfs->ns_last_cno + 1; nilfs 185 fs/nilfs2/the_nilfs.c if (nilfs->ns_segnum >= nilfs->ns_nsegments) { nilfs 186 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 188 fs/nilfs2/the_nilfs.c (unsigned long long)nilfs->ns_segnum, nilfs 189 fs/nilfs2/the_nilfs.c nilfs->ns_nsegments); nilfs 204 fs/nilfs2/the_nilfs.c int load_nilfs(struct the_nilfs *nilfs, struct super_block *sb) nilfs 208 fs/nilfs2/the_nilfs.c int really_read_only = bdev_read_only(nilfs->ns_bdev); nilfs 209 fs/nilfs2/the_nilfs.c int valid_fs = nilfs_valid_fs(nilfs); nilfs 224 fs/nilfs2/the_nilfs.c err = nilfs_search_super_root(nilfs, &ri); nilfs 226 fs/nilfs2/the_nilfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 244 fs/nilfs2/the_nilfs.c memcpy(sbp[0], sbp[1], nilfs->ns_sbsize); nilfs 245 fs/nilfs2/the_nilfs.c nilfs->ns_crc_seed = le32_to_cpu(sbp[0]->s_crc_seed); nilfs 246 fs/nilfs2/the_nilfs.c nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime); nilfs 250 fs/nilfs2/the_nilfs.c if (blocksize != nilfs->ns_blocksize) { nilfs 253 fs/nilfs2/the_nilfs.c blocksize, nilfs->ns_blocksize); nilfs 257 fs/nilfs2/the_nilfs.c err = nilfs_store_log_cursor(nilfs, sbp[0]); nilfs 262 fs/nilfs2/the_nilfs.c nilfs->ns_mount_state &= ~NILFS_VALID_FS; nilfs 265 fs/nilfs2/the_nilfs.c err = nilfs_search_super_root(nilfs, &ri); nilfs 270 fs/nilfs2/the_nilfs.c err = nilfs_load_super_root(nilfs, sb, ri.ri_super_root); nilfs 283 fs/nilfs2/the_nilfs.c if (nilfs_test_opt(nilfs, NORECOVERY)) { nilfs 288 fs/nilfs2/the_nilfs.c features = le64_to_cpu(nilfs->ns_sbp[0]->s_feature_compat_ro) & nilfs 304 fs/nilfs2/the_nilfs.c } else if (nilfs_test_opt(nilfs, NORECOVERY)) { nilfs 311 fs/nilfs2/the_nilfs.c err = nilfs_salvage_orphan_logs(nilfs, sb, &ri); nilfs 315 fs/nilfs2/the_nilfs.c down_write(&nilfs->ns_sem); nilfs 316 fs/nilfs2/the_nilfs.c nilfs->ns_mount_state |= NILFS_VALID_FS; /* set "clean" flag */ nilfs 318 fs/nilfs2/the_nilfs.c up_write(&nilfs->ns_sem); nilfs 338 fs/nilfs2/the_nilfs.c iput(nilfs->ns_cpfile); nilfs 339 fs/nilfs2/the_nilfs.c iput(nilfs->ns_sufile); nilfs 340 fs/nilfs2/the_nilfs.c iput(nilfs->ns_dat); nilfs 364 fs/nilfs2/the_nilfs.c unsigned long nilfs_nrsvsegs(struct the_nilfs *nilfs, unsigned long nsegs) nilfs 367 fs/nilfs2/the_nilfs.c DIV_ROUND_UP(nsegs * nilfs->ns_r_segments_percentage, nilfs 371 fs/nilfs2/the_nilfs.c void nilfs_set_nsegments(struct the_nilfs *nilfs, unsigned long nsegs) nilfs 373 fs/nilfs2/the_nilfs.c nilfs->ns_nsegments = nsegs; nilfs 374 fs/nilfs2/the_nilfs.c nilfs->ns_nrsvsegs = nilfs_nrsvsegs(nilfs, nsegs); nilfs 377 fs/nilfs2/the_nilfs.c static int nilfs_store_disk_layout(struct the_nilfs *nilfs, nilfs 381 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 388 fs/nilfs2/the_nilfs.c nilfs->ns_sbsize = le16_to_cpu(sbp->s_bytes); nilfs 389 fs/nilfs2/the_nilfs.c if (nilfs->ns_sbsize > BLOCK_SIZE) nilfs 392 fs/nilfs2/the_nilfs.c nilfs->ns_inode_size = le16_to_cpu(sbp->s_inode_size); nilfs 393 fs/nilfs2/the_nilfs.c if (nilfs->ns_inode_size > nilfs->ns_blocksize) { nilfs 394 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 396 fs/nilfs2/the_nilfs.c nilfs->ns_inode_size); nilfs 398 fs/nilfs2/the_nilfs.c } else if (nilfs->ns_inode_size < NILFS_MIN_INODE_SIZE) { nilfs 399 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 401 fs/nilfs2/the_nilfs.c nilfs->ns_inode_size); nilfs 405 fs/nilfs2/the_nilfs.c nilfs->ns_first_ino = le32_to_cpu(sbp->s_first_ino); nilfs 407 fs/nilfs2/the_nilfs.c nilfs->ns_blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment); nilfs 408 fs/nilfs2/the_nilfs.c if (nilfs->ns_blocks_per_segment < NILFS_SEG_MIN_BLOCKS) { nilfs 409 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 411 fs/nilfs2/the_nilfs.c nilfs->ns_blocks_per_segment); nilfs 415 fs/nilfs2/the_nilfs.c nilfs->ns_first_data_block = le64_to_cpu(sbp->s_first_data_block); nilfs 416 fs/nilfs2/the_nilfs.c nilfs->ns_r_segments_percentage = nilfs 418 fs/nilfs2/the_nilfs.c if (nilfs->ns_r_segments_percentage < 1 || nilfs 419 fs/nilfs2/the_nilfs.c nilfs->ns_r_segments_percentage > 99) { nilfs 420 fs/nilfs2/the_nilfs.c nilfs_msg(nilfs->ns_sb, KERN_ERR, nilfs 422 fs/nilfs2/the_nilfs.c nilfs->ns_r_segments_percentage); nilfs 426 fs/nilfs2/the_nilfs.c nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments)); nilfs 427 fs/nilfs2/the_nilfs.c nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed); nilfs 458 fs/nilfs2/the_nilfs.c static void nilfs_release_super_block(struct the_nilfs *nilfs) nilfs 463 fs/nilfs2/the_nilfs.c if (nilfs->ns_sbp[i]) { nilfs 464 fs/nilfs2/the_nilfs.c brelse(nilfs->ns_sbh[i]); nilfs 465 fs/nilfs2/the_nilfs.c nilfs->ns_sbh[i] = NULL; nilfs 466 fs/nilfs2/the_nilfs.c nilfs->ns_sbp[i] = NULL; nilfs 471 fs/nilfs2/the_nilfs.c void nilfs_fall_back_super_block(struct the_nilfs *nilfs) nilfs 473 fs/nilfs2/the_nilfs.c brelse(nilfs->ns_sbh[0]); nilfs 474 fs/nilfs2/the_nilfs.c nilfs->ns_sbh[0] = nilfs->ns_sbh[1]; nilfs 475 fs/nilfs2/the_nilfs.c nilfs->ns_sbp[0] = nilfs->ns_sbp[1]; nilfs 476 fs/nilfs2/the_nilfs.c nilfs->ns_sbh[1] = NULL; nilfs 477 fs/nilfs2/the_nilfs.c nilfs->ns_sbp[1] = NULL; nilfs 480 fs/nilfs2/the_nilfs.c void nilfs_swap_super_block(struct the_nilfs *nilfs) nilfs 482 fs/nilfs2/the_nilfs.c struct buffer_head *tsbh = nilfs->ns_sbh[0]; nilfs 483 fs/nilfs2/the_nilfs.c struct nilfs_super_block *tsbp = nilfs->ns_sbp[0]; nilfs 485 fs/nilfs2/the_nilfs.c nilfs->ns_sbh[0] = nilfs->ns_sbh[1]; nilfs 486 fs/nilfs2/the_nilfs.c nilfs->ns_sbp[0] = nilfs->ns_sbp[1]; nilfs 487 fs/nilfs2/the_nilfs.c nilfs->ns_sbh[1] = tsbh; nilfs 488 fs/nilfs2/the_nilfs.c nilfs->ns_sbp[1] = tsbp; nilfs 491 fs/nilfs2/the_nilfs.c static int nilfs_load_super_block(struct the_nilfs *nilfs, nilfs 495 fs/nilfs2/the_nilfs.c struct nilfs_super_block **sbp = nilfs->ns_sbp; nilfs 496 fs/nilfs2/the_nilfs.c struct buffer_head **sbh = nilfs->ns_sbh; nilfs 497 fs/nilfs2/the_nilfs.c u64 sb2off = NILFS_SB2_OFFSET_BYTES(nilfs->ns_bdev->bd_inode->i_size); nilfs 536 fs/nilfs2/the_nilfs.c nilfs_release_super_block(nilfs); nilfs 546 fs/nilfs2/the_nilfs.c nilfs_swap_super_block(nilfs); nilfs 548 fs/nilfs2/the_nilfs.c nilfs->ns_sbwcount = 0; nilfs 549 fs/nilfs2/the_nilfs.c nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime); nilfs 550 fs/nilfs2/the_nilfs.c nilfs->ns_prot_seq = le64_to_cpu(sbp[valid[1] & !swp]->s_last_seq); nilfs 568 fs/nilfs2/the_nilfs.c int init_nilfs(struct the_nilfs *nilfs, struct super_block *sb, char *data) nilfs 574 fs/nilfs2/the_nilfs.c down_write(&nilfs->ns_sem); nilfs 582 fs/nilfs2/the_nilfs.c err = nilfs_load_super_block(nilfs, sb, blocksize, &sbp); nilfs 613 fs/nilfs2/the_nilfs.c nilfs_release_super_block(nilfs); nilfs 616 fs/nilfs2/the_nilfs.c err = nilfs_load_super_block(nilfs, sb, blocksize, &sbp); nilfs 624 fs/nilfs2/the_nilfs.c nilfs->ns_blocksize_bits = sb->s_blocksize_bits; nilfs 625 fs/nilfs2/the_nilfs.c nilfs->ns_blocksize = blocksize; nilfs 627 fs/nilfs2/the_nilfs.c get_random_bytes(&nilfs->ns_next_generation, nilfs 628 fs/nilfs2/the_nilfs.c sizeof(nilfs->ns_next_generation)); nilfs 630 fs/nilfs2/the_nilfs.c err = nilfs_store_disk_layout(nilfs, sbp); nilfs 636 fs/nilfs2/the_nilfs.c nilfs->ns_mount_state = le16_to_cpu(sbp->s_state); nilfs 638 fs/nilfs2/the_nilfs.c err = nilfs_store_log_cursor(nilfs, sbp); nilfs 646 fs/nilfs2/the_nilfs.c set_nilfs_init(nilfs); nilfs 649 fs/nilfs2/the_nilfs.c up_write(&nilfs->ns_sem); nilfs 653 fs/nilfs2/the_nilfs.c nilfs_release_super_block(nilfs); nilfs 657 fs/nilfs2/the_nilfs.c int nilfs_discard_segments(struct the_nilfs *nilfs, __u64 *segnump, nilfs 666 fs/nilfs2/the_nilfs.c sects_per_block = (1 << nilfs->ns_blocksize_bits) / nilfs 667 fs/nilfs2/the_nilfs.c bdev_logical_block_size(nilfs->ns_bdev); nilfs 669 fs/nilfs2/the_nilfs.c nilfs_get_segment_range(nilfs, *sn, &seg_start, &seg_end); nilfs 677 fs/nilfs2/the_nilfs.c ret = blkdev_issue_discard(nilfs->ns_bdev, nilfs 687 fs/nilfs2/the_nilfs.c ret = blkdev_issue_discard(nilfs->ns_bdev, nilfs 694 fs/nilfs2/the_nilfs.c int nilfs_count_free_blocks(struct the_nilfs *nilfs, sector_t *nblocks) nilfs 698 fs/nilfs2/the_nilfs.c down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 699 fs/nilfs2/the_nilfs.c ncleansegs = nilfs_sufile_get_ncleansegs(nilfs->ns_sufile); nilfs 700 fs/nilfs2/the_nilfs.c up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); nilfs 701 fs/nilfs2/the_nilfs.c *nblocks = (sector_t)ncleansegs * nilfs->ns_blocks_per_segment; nilfs 705 fs/nilfs2/the_nilfs.c int nilfs_near_disk_full(struct the_nilfs *nilfs) nilfs 709 fs/nilfs2/the_nilfs.c ncleansegs = nilfs_sufile_get_ncleansegs(nilfs->ns_sufile); nilfs 710 fs/nilfs2/the_nilfs.c nincsegs = atomic_read(&nilfs->ns_ndirtyblks) / nilfs 711 fs/nilfs2/the_nilfs.c nilfs->ns_blocks_per_segment + 1; nilfs 713 fs/nilfs2/the_nilfs.c return ncleansegs <= nilfs->ns_nrsvsegs + nincsegs; nilfs 716 fs/nilfs2/the_nilfs.c struct nilfs_root *nilfs_lookup_root(struct the_nilfs *nilfs, __u64 cno) nilfs 721 fs/nilfs2/the_nilfs.c spin_lock(&nilfs->ns_cptree_lock); nilfs 722 fs/nilfs2/the_nilfs.c n = nilfs->ns_cptree.rb_node; nilfs 732 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_cptree_lock); nilfs 736 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_cptree_lock); nilfs 742 fs/nilfs2/the_nilfs.c nilfs_find_or_create_root(struct the_nilfs *nilfs, __u64 cno) nilfs 748 fs/nilfs2/the_nilfs.c root = nilfs_lookup_root(nilfs, cno); nilfs 756 fs/nilfs2/the_nilfs.c spin_lock(&nilfs->ns_cptree_lock); nilfs 758 fs/nilfs2/the_nilfs.c p = &nilfs->ns_cptree.rb_node; nilfs 771 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_cptree_lock); nilfs 779 fs/nilfs2/the_nilfs.c new->nilfs = nilfs; nilfs 785 fs/nilfs2/the_nilfs.c rb_insert_color(&new->rb_node, &nilfs->ns_cptree); nilfs 787 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_cptree_lock); nilfs 801 fs/nilfs2/the_nilfs.c struct the_nilfs *nilfs = root->nilfs; nilfs 805 fs/nilfs2/the_nilfs.c spin_lock(&nilfs->ns_cptree_lock); nilfs 806 fs/nilfs2/the_nilfs.c rb_erase(&root->rb_node, &nilfs->ns_cptree); nilfs 807 fs/nilfs2/the_nilfs.c spin_unlock(&nilfs->ns_cptree_lock); nilfs 194 fs/nilfs2/the_nilfs.h static inline void set_nilfs_##name(struct the_nilfs *nilfs) \ nilfs 196 fs/nilfs2/the_nilfs.h set_bit(THE_NILFS_##bit, &(nilfs)->ns_flags); \ nilfs 198 fs/nilfs2/the_nilfs.h static inline void clear_nilfs_##name(struct the_nilfs *nilfs) \ nilfs 200 fs/nilfs2/the_nilfs.h clear_bit(THE_NILFS_##bit, &(nilfs)->ns_flags); \ nilfs 202 fs/nilfs2/the_nilfs.h static inline int nilfs_##name(struct the_nilfs *nilfs) \ nilfs 204 fs/nilfs2/the_nilfs.h return test_bit(THE_NILFS_##bit, &(nilfs)->ns_flags); \ nilfs 215 fs/nilfs2/the_nilfs.h #define nilfs_clear_opt(nilfs, opt) \ nilfs 216 fs/nilfs2/the_nilfs.h ((nilfs)->ns_mount_opt &= ~NILFS_MOUNT_##opt) nilfs 217 fs/nilfs2/the_nilfs.h #define nilfs_set_opt(nilfs, opt) \ nilfs 218 fs/nilfs2/the_nilfs.h ((nilfs)->ns_mount_opt |= NILFS_MOUNT_##opt) nilfs 219 fs/nilfs2/the_nilfs.h #define nilfs_test_opt(nilfs, opt) ((nilfs)->ns_mount_opt & NILFS_MOUNT_##opt) nilfs 220 fs/nilfs2/the_nilfs.h #define nilfs_write_opt(nilfs, mask, opt) \ nilfs 221 fs/nilfs2/the_nilfs.h ((nilfs)->ns_mount_opt = \ nilfs 222 fs/nilfs2/the_nilfs.h (((nilfs)->ns_mount_opt & ~NILFS_MOUNT_##mask) | \ nilfs 242 fs/nilfs2/the_nilfs.h struct the_nilfs *nilfs; nilfs 259 fs/nilfs2/the_nilfs.h static inline int nilfs_sb_need_update(struct the_nilfs *nilfs) nilfs 263 fs/nilfs2/the_nilfs.h return t < nilfs->ns_sbwtime || nilfs 264 fs/nilfs2/the_nilfs.h t > nilfs->ns_sbwtime + nilfs->ns_sb_update_freq; nilfs 267 fs/nilfs2/the_nilfs.h static inline int nilfs_sb_will_flip(struct the_nilfs *nilfs) nilfs 269 fs/nilfs2/the_nilfs.h int flip_bits = nilfs->ns_sbwcount & 0x0FL; nilfs 276 fs/nilfs2/the_nilfs.h void destroy_nilfs(struct the_nilfs *nilfs); nilfs 277 fs/nilfs2/the_nilfs.h int init_nilfs(struct the_nilfs *nilfs, struct super_block *sb, char *data); nilfs 278 fs/nilfs2/the_nilfs.h int load_nilfs(struct the_nilfs *nilfs, struct super_block *sb); nilfs 279 fs/nilfs2/the_nilfs.h unsigned long nilfs_nrsvsegs(struct the_nilfs *nilfs, unsigned long nsegs); nilfs 280 fs/nilfs2/the_nilfs.h void nilfs_set_nsegments(struct the_nilfs *nilfs, unsigned long nsegs); nilfs 283 fs/nilfs2/the_nilfs.h struct nilfs_root *nilfs_lookup_root(struct the_nilfs *nilfs, __u64 cno); nilfs 284 fs/nilfs2/the_nilfs.h struct nilfs_root *nilfs_find_or_create_root(struct the_nilfs *nilfs, nilfs 297 fs/nilfs2/the_nilfs.h static inline int nilfs_valid_fs(struct the_nilfs *nilfs) nilfs 301 fs/nilfs2/the_nilfs.h down_read(&nilfs->ns_sem); nilfs 302 fs/nilfs2/the_nilfs.h valid_fs = (nilfs->ns_mount_state & NILFS_VALID_FS); nilfs 303 fs/nilfs2/the_nilfs.h up_read(&nilfs->ns_sem); nilfs 308 fs/nilfs2/the_nilfs.h nilfs_get_segment_range(struct the_nilfs *nilfs, __u64 segnum, nilfs 311 fs/nilfs2/the_nilfs.h *seg_start = (sector_t)nilfs->ns_blocks_per_segment * segnum; nilfs 312 fs/nilfs2/the_nilfs.h *seg_end = *seg_start + nilfs->ns_blocks_per_segment - 1; nilfs 314 fs/nilfs2/the_nilfs.h *seg_start = nilfs->ns_first_data_block; nilfs 318 fs/nilfs2/the_nilfs.h nilfs_get_segment_start_blocknr(struct the_nilfs *nilfs, __u64 segnum) nilfs 320 fs/nilfs2/the_nilfs.h return (segnum == 0) ? nilfs->ns_first_data_block : nilfs 321 fs/nilfs2/the_nilfs.h (sector_t)nilfs->ns_blocks_per_segment * segnum; nilfs 325 fs/nilfs2/the_nilfs.h nilfs_get_segnum_of_block(struct the_nilfs *nilfs, sector_t blocknr) nilfs 329 fs/nilfs2/the_nilfs.h sector_div(segnum, nilfs->ns_blocks_per_segment); nilfs 334 fs/nilfs2/the_nilfs.h nilfs_terminate_segment(struct the_nilfs *nilfs, sector_t seg_start, nilfs 338 fs/nilfs2/the_nilfs.h nilfs->ns_pseg_offset = seg_end - seg_start + 1; nilfs 341 fs/nilfs2/the_nilfs.h static inline void nilfs_shift_to_next_segment(struct the_nilfs *nilfs) nilfs 344 fs/nilfs2/the_nilfs.h nilfs->ns_segnum = nilfs->ns_nextnum; nilfs 345 fs/nilfs2/the_nilfs.h nilfs->ns_pseg_offset = 0; nilfs 346 fs/nilfs2/the_nilfs.h nilfs->ns_seg_seq++; nilfs 349 fs/nilfs2/the_nilfs.h static inline __u64 nilfs_last_cno(struct the_nilfs *nilfs) nilfs 353 fs/nilfs2/the_nilfs.h spin_lock(&nilfs->ns_last_segment_lock); nilfs 354 fs/nilfs2/the_nilfs.h cno = nilfs->ns_last_cno; nilfs 355 fs/nilfs2/the_nilfs.h spin_unlock(&nilfs->ns_last_segment_lock); nilfs 359 fs/nilfs2/the_nilfs.h static inline int nilfs_segment_is_active(struct the_nilfs *nilfs, __u64 n) nilfs 361 fs/nilfs2/the_nilfs.h return n == nilfs->ns_segnum || n == nilfs->ns_nextnum; nilfs 364 fs/nilfs2/the_nilfs.h static inline int nilfs_flush_device(struct the_nilfs *nilfs) nilfs 368 fs/nilfs2/the_nilfs.h if (!nilfs_test_opt(nilfs, BARRIER) || nilfs->ns_flushed_device) nilfs 371 fs/nilfs2/the_nilfs.h nilfs->ns_flushed_device = 1; nilfs 378 fs/nilfs2/the_nilfs.h err = blkdev_issue_flush(nilfs->ns_bdev, GFP_KERNEL, NULL);