Lines Matching refs:argv

47 				 struct nilfs_argv *argv, int dir,  in nilfs_ioctl_wrap_copy()  argument
53 void __user *base = (void __user *)(unsigned long)argv->v_base; in nilfs_ioctl_wrap_copy()
59 if (argv->v_nmembs == 0) in nilfs_ioctl_wrap_copy()
62 if (argv->v_size > PAGE_SIZE) in nilfs_ioctl_wrap_copy()
70 if (argv->v_index > ~(__u64)0 - argv->v_nmembs) in nilfs_ioctl_wrap_copy()
76 maxmembs = PAGE_SIZE / argv->v_size; in nilfs_ioctl_wrap_copy()
80 pos = argv->v_index; in nilfs_ioctl_wrap_copy()
81 for (i = 0; i < argv->v_nmembs; i += n) { in nilfs_ioctl_wrap_copy()
82 n = (argv->v_nmembs - i < maxmembs) ? in nilfs_ioctl_wrap_copy()
83 argv->v_nmembs - i : maxmembs; in nilfs_ioctl_wrap_copy()
85 copy_from_user(buf, base + argv->v_size * i, in nilfs_ioctl_wrap_copy()
86 argv->v_size * n)) { in nilfs_ioctl_wrap_copy()
91 nr = dofunc(nilfs, &pos, argv->v_flags, buf, argv->v_size, in nilfs_ioctl_wrap_copy()
98 copy_to_user(base + argv->v_size * i, buf, in nilfs_ioctl_wrap_copy()
99 argv->v_size * nr)) { in nilfs_ioctl_wrap_copy()
109 argv->v_nmembs = total; in nilfs_ioctl_wrap_copy()
516 struct nilfs_argv argv; in nilfs_ioctl_get_bdescs() local
519 if (copy_from_user(&argv, argp, sizeof(argv))) in nilfs_ioctl_get_bdescs()
522 if (argv.v_size != sizeof(struct nilfs_bdesc)) in nilfs_ioctl_get_bdescs()
525 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), in nilfs_ioctl_get_bdescs()
530 if (copy_to_user(argp, &argv, sizeof(argv))) in nilfs_ioctl_get_bdescs()
612 struct nilfs_argv *argv, void *buf) in nilfs_ioctl_move_blocks() argument
614 size_t nmembs = argv->v_nmembs; in nilfs_ioctl_move_blocks()
696 struct nilfs_argv *argv, void *buf) in nilfs_ioctl_delete_checkpoints() argument
698 size_t nmembs = argv->v_nmembs; in nilfs_ioctl_delete_checkpoints()
731 struct nilfs_argv *argv, void *buf) in nilfs_ioctl_free_vblocknrs() argument
733 size_t nmembs = argv->v_nmembs; in nilfs_ioctl_free_vblocknrs()
760 struct nilfs_argv *argv, void *buf) in nilfs_ioctl_mark_blocks_dirty() argument
762 size_t nmembs = argv->v_nmembs; in nilfs_ioctl_mark_blocks_dirty()
806 struct nilfs_argv *argv, void **kbufs) in nilfs_ioctl_prepare_clean_segments() argument
811 ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], kbufs[1]); in nilfs_ioctl_prepare_clean_segments()
820 ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], kbufs[2]); in nilfs_ioctl_prepare_clean_segments()
829 ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], kbufs[3]); in nilfs_ioctl_prepare_clean_segments()
862 struct nilfs_argv argv[5]; in nilfs_ioctl_clean_segments() local
884 if (copy_from_user(argv, argp, sizeof(argv))) in nilfs_ioctl_clean_segments()
888 nsegs = argv[4].v_nmembs; in nilfs_ioctl_clean_segments()
889 if (argv[4].v_size != argsz[4]) in nilfs_ioctl_clean_segments()
899 kbufs[4] = memdup_user((void __user *)(unsigned long)argv[4].v_base, in nilfs_ioctl_clean_segments()
909 if (argv[n].v_size != argsz[n]) in nilfs_ioctl_clean_segments()
912 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment) in nilfs_ioctl_clean_segments()
915 if (argv[n].v_nmembs >= UINT_MAX / argv[n].v_size) in nilfs_ioctl_clean_segments()
918 len = argv[n].v_size * argv[n].v_nmembs; in nilfs_ioctl_clean_segments()
919 base = (void __user *)(unsigned long)argv[n].v_base; in nilfs_ioctl_clean_segments()
948 ret = nilfs_ioctl_move_blocks(inode->i_sb, &argv[0], kbufs[0]); in nilfs_ioctl_clean_segments()
956 ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); in nilfs_ioctl_clean_segments()
1173 struct nilfs_argv argv; in nilfs_ioctl_get_info() local
1176 if (copy_from_user(&argv, argp, sizeof(argv))) in nilfs_ioctl_get_info()
1179 if (argv.v_size < membsz) in nilfs_ioctl_get_info()
1182 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), dofunc); in nilfs_ioctl_get_info()
1186 if (copy_to_user(argp, &argv, sizeof(argv))) in nilfs_ioctl_get_info()
1220 struct nilfs_argv argv; in nilfs_ioctl_set_suinfo() local
1234 if (copy_from_user(&argv, argp, sizeof(argv))) in nilfs_ioctl_set_suinfo()
1238 if (argv.v_size < sizeof(struct nilfs_suinfo_update)) in nilfs_ioctl_set_suinfo()
1241 if (argv.v_nmembs > nilfs->ns_nsegments) in nilfs_ioctl_set_suinfo()
1244 if (argv.v_nmembs >= UINT_MAX / argv.v_size) in nilfs_ioctl_set_suinfo()
1247 len = argv.v_size * argv.v_nmembs; in nilfs_ioctl_set_suinfo()
1253 base = (void __user *)(unsigned long)argv.v_base; in nilfs_ioctl_set_suinfo()
1266 ret = nilfs_sufile_set_suinfo(nilfs->ns_sufile, kbuf, argv.v_size, in nilfs_ioctl_set_suinfo()
1267 argv.v_nmembs); in nilfs_ioctl_set_suinfo()