Home
last modified time | relevance | path

Searched refs:upperdir (Results 1 - 15 of 15) sorted by relevance

/kernel/linux/linux-5.10/fs/overlayfs/
H A Ddir.c321 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_create_upper() local
322 struct inode *udir = upperdir->d_inode; in ovl_create_upper()
332 upperdir, in ovl_create_upper()
362 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_clear_empty() local
363 struct inode *udir = upperdir->d_inode; in ovl_clear_empty()
373 err = ovl_lock_rename_workdir(workdir, upperdir); in ovl_clear_empty()
415 unlock_rename(workdir, upperdir); in ovl_clear_empty()
426 unlock_rename(workdir, upperdir); in ovl_clear_empty()
461 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_create_over_whiteout() local
462 struct inode *udir = upperdir in ovl_create_over_whiteout()
760 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); ovl_remove_and_whiteout() local
812 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); ovl_remove_upper() local
[all...]
H A Dsuper.c250 kfree(ofs->config.upperdir); in ovl_free_fs()
366 if (ofs->config.upperdir) { in ovl_show_options()
367 seq_show_option(m, "upperdir", ofs->config.upperdir); in ovl_show_options()
443 {OPT_UPPERDIR, "upperdir=%s"},
527 kfree(config->upperdir); in ovl_parse_opt()
528 config->upperdir = match_strdup(&args[0]); in ovl_parse_opt()
529 if (!config->upperdir) in ovl_parse_opt()
613 if (!config->upperdir) { in ovl_parse_opt()
627 if (!config->upperdir in ovl_parse_opt()
918 ovl_workdir_ok(struct dentry *workdir, struct dentry *upperdir) ovl_workdir_ok() argument
[all...]
H A Dutil.c853 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) in ovl_lock_rename_workdir() argument
855 /* Workdir should not be the same as upperdir */ in ovl_lock_rename_workdir()
856 if (workdir == upperdir) in ovl_lock_rename_workdir()
859 /* Workdir should not be subdir of upperdir and vice versa */ in ovl_lock_rename_workdir()
860 if (lock_rename(workdir, upperdir) != NULL) in ovl_lock_rename_workdir()
866 unlock_rename(workdir, upperdir); in ovl_lock_rename_workdir()
868 pr_err("failed to lock workdir+upperdir\n"); in ovl_lock_rename_workdir()
963 * have occurred on the upperdir since the mount.
H A Dcopy_up.c454 struct dentry *upperdir = ovl_dentry_upper(c->parent); in ovl_link_up() local
455 struct inode *udir = d_inode(upperdir); in ovl_link_up()
458 err = ovl_set_impure(c->parent, upperdir); in ovl_link_up()
467 upper = lookup_one_len(c->dentry->d_name.name, upperdir, in ovl_link_up()
476 ovl_set_timestamps(upperdir, &c->pstat); in ovl_link_up()
H A Dovl_entry.h10 char *upperdir; member
91 /* r/o snapshot of upperdir sb's only taken on volatile mounts */
H A Dnamei.c825 struct dentry *upperdir, *upperdentry = NULL; in ovl_lookup() local
851 upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_lookup()
852 if (upperdir) { in ovl_lookup()
853 err = ovl_lookup_layer(upperdir, &d, &upperdentry, true); in ovl_lookup()
H A Doverlayfs.h319 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir);
/kernel/linux/linux-6.6/fs/overlayfs/
H A Ddir.c325 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_create_upper() local
326 struct inode *udir = upperdir->d_inode; in ovl_create_upper()
336 upperdir, dentry->d_name.len), in ovl_create_upper()
367 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_clear_empty() local
368 struct inode *udir = upperdir->d_inode; in ovl_clear_empty()
378 err = ovl_lock_rename_workdir(workdir, upperdir); in ovl_clear_empty()
420 unlock_rename(workdir, upperdir); in ovl_clear_empty()
431 unlock_rename(workdir, upperdir); in ovl_clear_empty()
451 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_create_over_whiteout() local
452 struct inode *udir = upperdir in ovl_create_over_whiteout()
751 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); ovl_remove_and_whiteout() local
804 struct dentry *upperdir = ovl_dentry_upper(dentry->d_parent); ovl_remove_upper() local
[all...]
H A Dparams.c150 fsparam_string("upperdir", Opt_upperdir),
305 return invalfc(fc, "filesystem on %s not supported as upperdir", name); in ovl_mount_dir_check()
354 swap(config->upperdir, *pname); in ovl_add_layer()
780 kfree(ofs->config.upperdir); in ovl_free_fs()
798 if (!config->upperdir) { in ovl_fs_params_verify()
812 if (!config->upperdir && config->ovl_volatile) { in ovl_fs_params_verify()
817 if (!config->upperdir && config->uuid == OVL_UUID_ON) { in ovl_fs_params_verify()
838 if (!config->upperdir && config->redirect_mode == OVL_REDIRECT_FOLLOW) in ovl_fs_params_verify()
869 if (!config->upperdir && in ovl_fs_params_verify()
986 if (ofs->config.upperdir) { in ovl_show_options()
[all...]
H A Dsuper.c403 (ofs->config.index && ofs->config.upperdir)) && !fh_type) { in ovl_lower_dir()
415 ofs->config.upperdir && !fh_type) { in ovl_lower_dir()
428 /* Workdir should not be subdir of upperdir and vice versa */
429 static bool ovl_workdir_ok(struct dentry *workdir, struct dentry *upperdir) in ovl_workdir_ok() argument
433 if (workdir != upperdir) { in ovl_workdir_ok()
434 ok = (lock_rename(workdir, upperdir) == NULL); in ovl_workdir_ok()
435 unlock_rename(workdir, upperdir); in ovl_workdir_ok()
521 * Determine how we treat concurrent use of upperdir/workdir based on the
523 * for example, an old overlay mount is leaked and now its upperdir is
529 pr_err("%s is in-use as upperdir/workdi in ovl_report_in_use()
[all...]
H A Dovl_entry.h9 char *upperdir; member
92 /* r/o snapshot of upperdir sb's only taken on volatile mounts */
H A Dcopy_up.c554 struct dentry *upperdir = ovl_dentry_upper(c->parent); in ovl_link_up() local
556 struct inode *udir = d_inode(upperdir); in ovl_link_up()
559 err = ovl_set_impure(c->parent, upperdir); in ovl_link_up()
568 upper = ovl_lookup_upper(ofs, c->dentry->d_name.name, upperdir, in ovl_link_up()
577 ovl_set_timestamps(ofs, upperdir, &c->pstat); in ovl_link_up()
H A Dnamei.c1009 struct dentry *upperdir, *upperdentry = NULL; in ovl_lookup() local
1036 upperdir = ovl_dentry_upper(dentry->d_parent); in ovl_lookup()
1037 if (upperdir) { in ovl_lookup()
1039 err = ovl_lookup_layer(upperdir, &d, &upperdentry, true); in ovl_lookup()
H A Dutil.c1100 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) in ovl_lock_rename_workdir() argument
1102 /* Workdir should not be the same as upperdir */ in ovl_lock_rename_workdir()
1103 if (workdir == upperdir) in ovl_lock_rename_workdir()
1106 /* Workdir should not be subdir of upperdir and vice versa */ in ovl_lock_rename_workdir()
1107 if (lock_rename(workdir, upperdir) != NULL) in ovl_lock_rename_workdir()
1113 unlock_rename(workdir, upperdir); in ovl_lock_rename_workdir()
1115 pr_err("failed to lock workdir+upperdir\n"); in ovl_lock_rename_workdir()
1363 * have occurred on the upperdir since the mount.
H A Doverlayfs.h501 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir);

Completed in 18 milliseconds