Lines Matching refs:params

197 static int afs_parse_options(struct afs_mount_params *params,  in afs_parse_options()  argument
217 cell = afs_lookup_cell_rcu(params->net, in afs_parse_options()
223 afs_put_cell(params->net, params->cell); in afs_parse_options()
224 params->cell = cell; in afs_parse_options()
228 params->rwpath = true; in afs_parse_options()
236 params->autocell = true; in afs_parse_options()
240 params->dyn_root = true; in afs_parse_options()
266 static int afs_parse_device_name(struct afs_mount_params *params, in afs_parse_device_name() argument
286 params->type = AFSVL_ROVOL; in afs_parse_device_name()
287 params->force = false; in afs_parse_device_name()
288 if (params->rwpath || name[0] == '%') { in afs_parse_device_name()
289 params->type = AFSVL_RWVOL; in afs_parse_device_name()
290 params->force = true; in afs_parse_device_name()
295 params->volname = strchr(name, ':'); in afs_parse_device_name()
296 if (params->volname) { in afs_parse_device_name()
298 cellnamesz = params->volname - name; in afs_parse_device_name()
299 params->volname++; in afs_parse_device_name()
301 params->volname = name; in afs_parse_device_name()
307 suffix = strrchr(params->volname, '.'); in afs_parse_device_name()
310 params->type = AFSVL_ROVOL; in afs_parse_device_name()
311 params->force = true; in afs_parse_device_name()
313 params->type = AFSVL_BACKVOL; in afs_parse_device_name()
314 params->force = true; in afs_parse_device_name()
321 params->volnamesz = suffix ? in afs_parse_device_name()
322 suffix - params->volname : strlen(params->volname); in afs_parse_device_name()
325 cellnamesz, cellnamesz, cellname ?: "", params->cell); in afs_parse_device_name()
328 if (cellname || !params->cell) { in afs_parse_device_name()
329 cell = afs_lookup_cell(params->net, cellname, cellnamesz, in afs_parse_device_name()
336 afs_put_cell(params->net, params->cell); in afs_parse_device_name()
337 params->cell = cell; in afs_parse_device_name()
341 params->cell->name, params->cell, in afs_parse_device_name()
342 params->volnamesz, params->volnamesz, params->volname, in afs_parse_device_name()
343 suffix ?: "-", params->type, params->force ? " FORCE" : ""); in afs_parse_device_name()
383 struct afs_mount_params *params) in afs_fill_super() argument
414 inode = afs_iget(sb, params->key, &fid, NULL, NULL, NULL); in afs_fill_super()
420 if (params->autocell || params->dyn_root) in afs_fill_super()
445 static struct afs_super_info *afs_alloc_sbi(struct afs_mount_params *params) in afs_alloc_sbi() argument
451 as->net_ns = get_net(params->net_ns); in afs_alloc_sbi()
452 if (params->dyn_root) in afs_alloc_sbi()
455 as->cell = afs_get_cell(params->cell); in afs_alloc_sbi()
495 struct afs_mount_params params; in afs_mount() local
504 memset(&params, 0, sizeof(params)); in afs_mount()
509 params.net_ns = current->nsproxy->net_ns; in afs_mount()
510 params.net = afs_net(params.net_ns); in afs_mount()
514 ret = afs_parse_options(&params, options, &dev_name); in afs_mount()
519 if (!params.dyn_root) { in afs_mount()
520 ret = afs_parse_device_name(&params, dev_name); in afs_mount()
525 key = afs_request_key(params.cell); in afs_mount()
531 params.key = key; in afs_mount()
536 as = afs_alloc_sbi(&params); in afs_mount()
540 if (!params.dyn_root) { in afs_mount()
546 candidate = afs_create_volume(&params); in afs_mount()
567 ret = afs_fill_super(sb, &params); in afs_mount()
579 afs_put_cell(params.net, params.cell); in afs_mount()
580 key_put(params.key); in afs_mount()
590 key_put(params.key); in afs_mount()
592 afs_put_cell(params.net, params.cell); in afs_mount()