Lines Matching refs:range
2322 struct fstrim_range range; in f2fs_ioc_fitrim() local
2331 if (copy_from_user(&range, (struct fstrim_range __user *)arg, in f2fs_ioc_fitrim()
2332 sizeof(range))) in f2fs_ioc_fitrim()
2339 range.minlen = max((unsigned int)range.minlen, in f2fs_ioc_fitrim()
2341 ret = f2fs_trim_fs(F2FS_SB(sb), &range); in f2fs_ioc_fitrim()
2346 if (copy_to_user((struct fstrim_range __user *)arg, &range, in f2fs_ioc_fitrim()
2347 sizeof(range))) in f2fs_ioc_fitrim()
2505 static int __f2fs_ioc_gc_range(struct file *filp, struct f2fs_gc_range *range) in __f2fs_ioc_gc_range() argument
2516 end = range->start + range->len; in __f2fs_ioc_gc_range()
2517 if (end < range->start || range->start < MAIN_BLKADDR(sbi) || in __f2fs_ioc_gc_range()
2526 if (!range->sync) { in __f2fs_ioc_gc_range()
2535 ret = f2fs_gc(sbi, range->sync, true, false, in __f2fs_ioc_gc_range()
2536 GET_SEGNO(sbi, range->start)); in __f2fs_ioc_gc_range()
2542 range->start += BLKS_PER_SEC(sbi); in __f2fs_ioc_gc_range()
2543 if (range->start <= end) in __f2fs_ioc_gc_range()
2552 struct f2fs_gc_range range; in f2fs_ioc_gc_range() local
2554 if (copy_from_user(&range, (struct f2fs_gc_range __user *)arg, in f2fs_ioc_gc_range()
2555 sizeof(range))) in f2fs_ioc_gc_range()
2557 return __f2fs_ioc_gc_range(filp, &range); in f2fs_ioc_gc_range()
2589 struct f2fs_defragment *range) in f2fs_defragment_range() argument
2603 pg_start = range->start >> PAGE_SHIFT; in f2fs_defragment_range()
2604 pg_end = (range->start + range->len) >> PAGE_SHIFT; in f2fs_defragment_range()
2618 err = filemap_write_and_wait_range(inode->i_mapping, range->start, in f2fs_defragment_range()
2619 range->start + range->len - 1); in f2fs_defragment_range()
2735 range->len = (u64)total << PAGE_SHIFT; in f2fs_defragment_range()
2743 struct f2fs_defragment range; in f2fs_ioc_defragment() local
2755 if (copy_from_user(&range, (struct f2fs_defragment __user *)arg, in f2fs_ioc_defragment()
2756 sizeof(range))) in f2fs_ioc_defragment()
2760 if (range.start & (F2FS_BLKSIZE - 1) || range.len & (F2FS_BLKSIZE - 1)) in f2fs_ioc_defragment()
2763 if (unlikely((range.start + range.len) >> PAGE_SHIFT > in f2fs_ioc_defragment()
2771 err = f2fs_defragment_range(sbi, filp, &range); in f2fs_ioc_defragment()
2778 if (copy_to_user((struct f2fs_defragment __user *)arg, &range, in f2fs_ioc_defragment()
2779 sizeof(range))) in f2fs_ioc_defragment()
2906 struct f2fs_move_range *range) in __f2fs_ioc_move_range() argument
2915 dst = fdget(range->dst_fd); in __f2fs_ioc_move_range()
2928 err = f2fs_move_file_range(filp, range->pos_in, dst.file, in __f2fs_ioc_move_range()
2929 range->pos_out, range->len); in __f2fs_ioc_move_range()
2939 struct f2fs_move_range range; in f2fs_ioc_move_range() local
2941 if (copy_from_user(&range, (struct f2fs_move_range __user *)arg, in f2fs_ioc_move_range()
2942 sizeof(range))) in f2fs_ioc_move_range()
2944 return __f2fs_ioc_move_range(filp, &range); in f2fs_ioc_move_range()
2954 struct f2fs_flush_device range; in f2fs_ioc_flush_device() local
2966 if (copy_from_user(&range, (struct f2fs_flush_device __user *)arg, in f2fs_ioc_flush_device()
2967 sizeof(range))) in f2fs_ioc_flush_device()
2970 if (!f2fs_is_multi_device(sbi) || sbi->s_ndevs - 1 <= range.dev_num || in f2fs_ioc_flush_device()
2973 range.dev_num, sbi->s_ndevs, sbi->segs_per_sec); in f2fs_ioc_flush_device()
2981 if (range.dev_num != 0) in f2fs_ioc_flush_device()
2982 dev_start_segno = GET_SEGNO(sbi, FDEV(range.dev_num).start_blk); in f2fs_ioc_flush_device()
2983 dev_end_segno = GET_SEGNO(sbi, FDEV(range.dev_num).end_blk); in f2fs_ioc_flush_device()
2988 end_segno = min(start_segno + range.segments, dev_end_segno); in f2fs_ioc_flush_device()
3837 struct f2fs_sectrim_range range; in f2fs_sec_trim_file() local
3847 if (copy_from_user(&range, (struct f2fs_sectrim_range __user *)arg, in f2fs_sec_trim_file()
3848 sizeof(range))) in f2fs_sec_trim_file()
3851 if (range.flags == 0 || (range.flags & ~F2FS_TRIM_FILE_MASK) || in f2fs_sec_trim_file()
3855 if (((range.flags & F2FS_TRIM_FILE_DISCARD) && in f2fs_sec_trim_file()
3857 ((range.flags & F2FS_TRIM_FILE_ZEROOUT) && in f2fs_sec_trim_file()
3865 range.start >= inode->i_size) { in f2fs_sec_trim_file()
3870 if (range.len == 0) in f2fs_sec_trim_file()
3873 if (inode->i_size - range.start > range.len) { in f2fs_sec_trim_file()
3874 end_addr = range.start + range.len; in f2fs_sec_trim_file()
3876 end_addr = range.len == (u64)-1 ? in f2fs_sec_trim_file()
3881 if (!IS_ALIGNED(range.start, F2FS_BLKSIZE) || in f2fs_sec_trim_file()
3887 index = F2FS_BYTES_TO_BLK(range.start); in f2fs_sec_trim_file()
3897 ret = filemap_write_and_wait_range(mapping, range.start, in f2fs_sec_trim_file()
3902 truncate_inode_pages_range(mapping, range.start, in f2fs_sec_trim_file()
3951 len, range.flags); in f2fs_sec_trim_file()
3980 prev_block, len, range.flags); in f2fs_sec_trim_file()
4499 struct f2fs_gc_range range; in f2fs_compat_ioc_gc_range() local
4503 err = get_user(range.sync, &urange->sync); in f2fs_compat_ioc_gc_range()
4504 err |= get_user(range.start, &urange->start); in f2fs_compat_ioc_gc_range()
4505 err |= get_user(range.len, &urange->len); in f2fs_compat_ioc_gc_range()
4509 return __f2fs_ioc_gc_range(file, &range); in f2fs_compat_ioc_gc_range()
4524 struct f2fs_move_range range; in f2fs_compat_ioc_move_range() local
4528 err = get_user(range.dst_fd, &urange->dst_fd); in f2fs_compat_ioc_move_range()
4529 err |= get_user(range.pos_in, &urange->pos_in); in f2fs_compat_ioc_move_range()
4530 err |= get_user(range.pos_out, &urange->pos_out); in f2fs_compat_ioc_move_range()
4531 err |= get_user(range.len, &urange->len); in f2fs_compat_ioc_move_range()
4535 return __f2fs_ioc_move_range(file, &range); in f2fs_compat_ioc_move_range()