/kernel/linux/linux-5.10/fs/overlayfs/ |
H A D | dir.c | 45 struct dentry *ovl_lookup_temp(struct dentry *workdir) in ovl_lookup_temp() argument 54 temp = lookup_one_len(name, workdir, strlen(name)); in ovl_lookup_temp() 56 pr_err("workdir/%s already exists\n", name); in ovl_lookup_temp() 64 /* caller holds i_mutex on workdir */ 69 struct dentry *workdir = ofs->workdir; in ovl_whiteout() local 70 struct inode *wdir = workdir->d_inode; in ovl_whiteout() 73 whiteout = ovl_lookup_temp(workdir); in ovl_whiteout() 87 whiteout = ovl_lookup_temp(workdir); in ovl_whiteout() 108 /* Caller must hold i_mutex on both workdir an 226 ovl_create_temp(struct dentry *workdir, struct ovl_cattr *attr) ovl_create_temp() argument 360 struct dentry *workdir = ovl_workdir(dentry); ovl_clear_empty() local 459 struct dentry *workdir = ovl_workdir(dentry); ovl_create_over_whiteout() local 759 struct dentry *workdir = ovl_workdir(dentry); ovl_remove_and_whiteout() local [all...] |
H A D | super.c | 230 dput(ofs->workdir); in ovl_free_fs() 251 kfree(ofs->config.workdir); in ovl_free_fs() 335 return (!ovl_upper_mnt(ofs) || !ofs->workdir); in ovl_force_readonly() 368 seq_show_option(m, "workdir", ofs->config.workdir); in ovl_show_options() 444 {OPT_WORKDIR, "workdir=%s"}, 541 kfree(config->workdir); in ovl_parse_opt() 542 config->workdir = match_strdup(&args[0]); in ovl_parse_opt() 543 if (!config->workdir) in ovl_parse_opt() 614 if (config->workdir) { in ovl_parse_opt() 918 ovl_workdir_ok(struct dentry *workdir, struct dentry *upperdir) ovl_workdir_ok() argument 963 struct dentry *workdir = ovl_workdir(dentry); ovl_posix_acl_xattr_set() local 1188 ovl_check_rename_whiteout(struct dentry *workdir) ovl_check_rename_whiteout() argument 1287 struct dentry *temp, *workdir; ovl_make_workdir() local [all...] |
H A D | ovl_entry.h | 11 char *workdir; member 64 /* workbasedir is the path at workdir= mount option */ 66 /* workdir is the 'work' directory under workbasedir */ 67 struct dentry *workdir; member
|
H A D | copy_up.c | 444 struct dentry *workdir; member 577 * Copyup using workdir to prepare temp file. Used when copying up directories, 583 struct inode *udir = d_inode(c->destdir), *wdir = d_inode(c->workdir); in ovl_copy_up_workdir() 594 /* workdir and destdir could be the same when copying up to indexdir */ in ovl_copy_up_workdir() 596 if (lock_rename(c->workdir, c->destdir) != NULL) in ovl_copy_up_workdir() 603 temp = ovl_create_temp(c->workdir, &cattr); in ovl_copy_up_workdir() 637 unlock_rename(c->workdir, c->destdir); in ovl_copy_up_workdir() 659 temp = ovl_do_tmpfile(c->workdir, c->stat.mode); in ovl_copy_up_tmpfile() 712 * Copying dir up to indexdir instead of workdir simplifies locking. in ovl_do_copy_up() 717 c->workdir in ovl_do_copy_up() [all...] |
H A D | util.c | 33 return ofs->workdir; in ovl_workdir() 853 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) in ovl_lock_rename_workdir() argument 856 if (workdir == upperdir) 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()
|
H A D | overlayfs.h | 319 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir); 528 struct dentry *ovl_lookup_temp(struct dentry *workdir); 529 struct dentry *ovl_create_temp(struct dentry *workdir, struct ovl_cattr *attr);
|
/kernel/linux/linux-6.6/fs/overlayfs/ |
H A D | dir.c | 45 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir) in ovl_lookup_temp() argument 54 temp = ovl_lookup_upper(ofs, name, workdir, strlen(name)); in ovl_lookup_temp() 56 pr_err("workdir/%s already exists\n", name); in ovl_lookup_temp() 64 /* caller holds i_mutex on workdir */ 69 struct dentry *workdir = ofs->workdir; in ovl_whiteout() local 70 struct inode *wdir = workdir->d_inode; in ovl_whiteout() 73 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout() 87 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout() 108 /* Caller must hold i_mutex on both workdir an 227 ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, struct ovl_cattr *attr) ovl_create_temp() argument 365 struct dentry *workdir = ovl_workdir(dentry); ovl_clear_empty() local 449 struct dentry *workdir = ovl_workdir(dentry); ovl_create_over_whiteout() local 750 struct dentry *workdir = ovl_workdir(dentry); ovl_remove_and_whiteout() local [all...] |
H A D | super.c | 328 * Try to remove POSIX ACL xattrs from workdir. We are good if: in ovl_workdir_create() 366 ofs->config.workdir, name, -err); in ovl_workdir_create() 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 529 pr_err("%s is in-use as upperdir/workdir of another mount, mount with '-o index=off' to override exclusive upperdir protection.\n", in ovl_report_in_use() 533 pr_warn("%s is in-use as upperdir/workdir of another mount, accessing files from both mounts will result in undefined behavior.\n", in ovl_report_in_use() 606 struct dentry *workdir in ovl_check_rename_whiteout() local 705 struct dentry *workdir; ovl_make_workdir() local [all...] |
H A D | ovl_entry.h | 10 char *workdir; member 64 /* workbasedir is the path at workdir= mount option */ 66 /* workdir is the 'work' directory under workbasedir */ 67 struct dentry *workdir; member
|
H A D | params.c | 151 fsparam_string("workdir", Opt_workdir), 350 swap(config->workdir, *pname); in ovl_add_layer() 759 dput(ofs->workdir); in ovl_free_fs() 781 kfree(ofs->config.workdir); in ovl_free_fs() 799 if (config->workdir) { in ovl_fs_params_verify() 800 pr_info("option \"workdir=%s\" is useless in a non-upper mount, ignore\n", in ovl_fs_params_verify() 801 config->workdir); in ovl_fs_params_verify() 802 kfree(config->workdir); in ovl_fs_params_verify() 803 config->workdir = NULL; in ovl_fs_params_verify() 988 seq_show_option(m, "workdir", of in ovl_show_options() [all...] |
H A D | copy_up.c | 543 struct dentry *workdir; member 703 * Copyup using workdir to prepare temp file. Used when copying up directories, 710 struct inode *udir = d_inode(c->destdir), *wdir = d_inode(c->workdir); in ovl_copy_up_workdir() 722 /* workdir and destdir could be the same when copying up to indexdir */ in ovl_copy_up_workdir() 724 if (lock_rename(c->workdir, c->destdir) != NULL) in ovl_copy_up_workdir() 731 temp = ovl_create_temp(ofs, c->workdir, &cattr); in ovl_copy_up_workdir() 781 unlock_rename(c->workdir, c->destdir); in ovl_copy_up_workdir() 805 tmpfile = ovl_do_tmpfile(ofs, c->workdir, c->stat.mode); in ovl_copy_up_tmpfile() 870 * Copying dir up to indexdir instead of workdir simplifies locking. in ovl_do_copy_up() 875 c->workdir in ovl_do_copy_up() [all...] |
H A D | overlayfs.h | 501 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir); 804 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir); 805 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, 839 return (!ovl_upper_mnt(ofs) || !ofs->workdir); in ovl_force_readonly()
|
H A D | util.c | 35 return ofs->workdir; in ovl_workdir() 1100 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) in ovl_lock_rename_workdir() argument 1103 if (workdir == upperdir) 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()
|
H A D | inode.c | 666 struct dentry *workdir = ovl_workdir(dentry); in ovl_set_acl() local 669 if (!IS_POSIXACL(d_inode(workdir))) in ovl_set_acl()
|
/kernel/linux/linux-6.6/tools/testing/selftests/hid/ |
H A D | hid_bpf.c | 320 static bool match_sysfs_device(int dev_id, const char *workdir, struct dirent *dir) in match_sysfs_device() argument 333 sprintf(uevent, "%s/%s/uevent", workdir, dir->d_name); in match_sysfs_device() 352 const char *workdir = "/sys/devices/virtual/misc/uhid"; in get_hid_id() local 362 d = opendir(workdir); in get_hid_id() 365 if (!match_sysfs_device(dev_id, workdir, dir)) in get_hid_id() 384 const char *workdir = "/sys/devices/virtual/misc/uhid"; in get_hidraw() local 393 d = opendir(workdir); in get_hidraw() 399 if (!match_sysfs_device(dev_id, workdir, dir)) in get_hidraw() 402 sprintf(sysfs, "%s/%s/hidraw", workdir, dir->d_name); in get_hidraw()
|
H A D | vmtest.sh | 128 --workdir ${OUTPUT_DIR} \
|
/kernel/liteos_a/fs/vfs/operation/ |
H A D | vfs_other.c | 140 ret = strncpy_s(curr->files->workdir, PATH_MAX, dir, len); in SetWorkDir() 141 curr->files->workdir[PATH_MAX - 1] = '\0'; in SetWorkDir() 236 len = strlen(curr->files->workdir); in getcwd() 242 ret = memcpy_s(buf, n, curr->files->workdir, len + 1); in getcwd() 642 path = strdup(curr->files->workdir); in ls()
|
H A D | fullpath.c | 262 directory = curr->files->workdir; in vfs_normalize_path()
|
/kernel/liteos_a/fs/include/fs/ |
H A D | fd_table.h | 60 char workdir[PATH_MAX];
member
|