Lines Matching refs:segnum
59 nilfs_sufile_get_blkoff(const struct inode *sufile, __u64 segnum) in nilfs_sufile_get_blkoff() argument
61 __u64 t = segnum + NILFS_MDT(sufile)->mi_first_entry_offset; in nilfs_sufile_get_blkoff()
67 nilfs_sufile_get_offset(const struct inode *sufile, __u64 segnum) in nilfs_sufile_get_offset() argument
69 __u64 t = segnum + NILFS_MDT(sufile)->mi_first_entry_offset; in nilfs_sufile_get_offset()
84 nilfs_sufile_block_get_segment_usage(const struct inode *sufile, __u64 segnum, in nilfs_sufile_block_get_segment_usage() argument
88 nilfs_sufile_get_offset(sufile, segnum) * in nilfs_sufile_block_get_segment_usage()
99 nilfs_sufile_get_segment_usage_block(struct inode *sufile, __u64 segnum, in nilfs_sufile_get_segment_usage_block() argument
103 nilfs_sufile_get_blkoff(sufile, segnum), in nilfs_sufile_get_segment_usage_block()
108 __u64 segnum) in nilfs_sufile_delete_segment_usage_block() argument
111 nilfs_sufile_get_blkoff(sufile, segnum)); in nilfs_sufile_delete_segment_usage_block()
234 int nilfs_sufile_update(struct inode *sufile, __u64 segnum, int create, in nilfs_sufile_update() argument
242 if (unlikely(segnum >= nilfs_sufile_get_nsegments(sufile))) { in nilfs_sufile_update()
244 __func__, (unsigned long long)segnum); in nilfs_sufile_update()
253 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, create, &bh); in nilfs_sufile_update()
255 dofunc(sufile, segnum, header_bh, bh); in nilfs_sufile_update()
318 __u64 segnum, maxsegnum, last_alloc; in nilfs_sufile_alloc() local
336 segnum = last_alloc + 1; in nilfs_sufile_alloc()
337 if (segnum < sui->allocmin || segnum > sui->allocmax) in nilfs_sufile_alloc()
338 segnum = sui->allocmin; in nilfs_sufile_alloc()
341 if (segnum > maxsegnum) { in nilfs_sufile_alloc()
348 segnum = sui->allocmin; in nilfs_sufile_alloc()
350 } else if (segnum > sui->allocmin && in nilfs_sufile_alloc()
352 segnum = sui->allocmax + 1; in nilfs_sufile_alloc()
355 segnum = 0; in nilfs_sufile_alloc()
361 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 1, in nilfs_sufile_alloc()
367 sufile, segnum, su_bh, kaddr); in nilfs_sufile_alloc()
370 sufile, segnum, maxsegnum); in nilfs_sufile_alloc()
371 for (j = 0; j < nsus; j++, su = (void *)su + susz, segnum++) { in nilfs_sufile_alloc()
382 header->sh_last_alloc = cpu_to_le64(segnum); in nilfs_sufile_alloc()
390 *segnump = segnum; in nilfs_sufile_alloc()
409 void nilfs_sufile_do_cancel_free(struct inode *sufile, __u64 segnum, in nilfs_sufile_do_cancel_free() argument
417 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, su_bh, kaddr); in nilfs_sufile_do_cancel_free()
420 __func__, (unsigned long long)segnum); in nilfs_sufile_do_cancel_free()
434 void nilfs_sufile_do_scrap(struct inode *sufile, __u64 segnum, in nilfs_sufile_do_scrap() argument
443 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, su_bh, kaddr); in nilfs_sufile_do_scrap()
465 void nilfs_sufile_do_free(struct inode *sufile, __u64 segnum, in nilfs_sufile_do_free() argument
474 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, su_bh, kaddr); in nilfs_sufile_do_free()
477 __func__, (unsigned long long)segnum); in nilfs_sufile_do_free()
500 int nilfs_sufile_mark_dirty(struct inode *sufile, __u64 segnum) in nilfs_sufile_mark_dirty() argument
505 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, &bh); in nilfs_sufile_mark_dirty()
521 int nilfs_sufile_set_segment_usage(struct inode *sufile, __u64 segnum, in nilfs_sufile_set_segment_usage() argument
530 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, &bh); in nilfs_sufile_set_segment_usage()
535 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, bh, kaddr); in nilfs_sufile_set_segment_usage()
599 void nilfs_sufile_do_set_error(struct inode *sufile, __u64 segnum, in nilfs_sufile_do_set_error() argument
608 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, su_bh, kaddr); in nilfs_sufile_do_set_error()
652 __u64 segnum; in nilfs_sufile_truncate_range() local
671 for (segnum = start; segnum <= end; segnum += n) { in nilfs_sufile_truncate_range()
674 nilfs_sufile_get_offset(sufile, segnum), in nilfs_sufile_truncate_range()
675 end - segnum + 1); in nilfs_sufile_truncate_range()
676 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, in nilfs_sufile_truncate_range()
686 sufile, segnum, su_bh, kaddr); in nilfs_sufile_truncate_range()
691 nilfs_segment_is_active(nilfs, segnum + j)) { in nilfs_sufile_truncate_range()
714 nilfs_sufile_delete_segment_usage_block(sufile, segnum); in nilfs_sufile_truncate_range()
814 ssize_t nilfs_sufile_get_suinfo(struct inode *sufile, __u64 segnum, void *buf, in nilfs_sufile_get_suinfo() argument
831 nilfs_sufile_get_nsegments(sufile) - segnum, in nilfs_sufile_get_suinfo()
833 for (i = 0; i < nsegs; i += n, segnum += n) { in nilfs_sufile_get_suinfo()
836 nilfs_sufile_get_offset(sufile, segnum), in nilfs_sufile_get_suinfo()
838 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, in nilfs_sufile_get_suinfo()
851 sufile, segnum, su_bh, kaddr); in nilfs_sufile_get_suinfo()
858 if (nilfs_segment_is_active(nilfs, segnum + j)) in nilfs_sufile_get_suinfo()
1028 u64 segnum, segnum_end, minlen, len, max_blocks, ndiscarded = 0; in nilfs_sufile_trim_fs() local
1054 segnum = nilfs_get_segnum_of_block(nilfs, start_block); in nilfs_sufile_trim_fs()
1059 while (segnum <= segnum_end) { in nilfs_sufile_trim_fs()
1060 n = nilfs_sufile_segment_usages_in_block(sufile, segnum, in nilfs_sufile_trim_fs()
1063 ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, in nilfs_sufile_trim_fs()
1069 segnum += n; in nilfs_sufile_trim_fs()
1074 su = nilfs_sufile_block_get_segment_usage(sufile, segnum, in nilfs_sufile_trim_fs()
1076 for (i = 0; i < n; ++i, ++segnum, su = (void *)su + susz) { in nilfs_sufile_trim_fs()
1080 nilfs_get_segment_range(nilfs, segnum, &seg_start, in nilfs_sufile_trim_fs()
1117 sufile, segnum, su_bh, kaddr); in nilfs_sufile_trim_fs()