| /Linux-v6.6/fs/overlayfs/ |
| 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() 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() 112 struct inode *wdir = ofs->workdir->d_inode; in ovl_cleanup_and_whiteout() 227 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, in ovl_create_temp() argument 230 return ovl_create_real(ofs, d_inode(workdir), in ovl_create_temp() 231 ovl_lookup_temp(ofs, workdir), attr); in ovl_create_temp() [all …]
|
| D | super.c | 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() 606 struct dentry *workdir = ofs->workdir; in ovl_check_rename_whiteout() local 607 struct inode *dir = d_inode(workdir); in ovl_check_rename_whiteout() 616 temp = ovl_create_temp(ofs, workdir, OVL_CATTR(S_IFREG | 0)); in ovl_check_rename_whiteout() 621 dest = ovl_lookup_temp(ofs, workdir); in ovl_check_rename_whiteout() 637 whiteout = ovl_lookup_upper(ofs, name.name.name, workdir, name.name.len); in ovl_check_rename_whiteout() [all …]
|
| D | params.c | 292 bool workdir) in ovl_parse_param_upperdir() argument 321 if (workdir) { in ovl_parse_param_upperdir() 322 kfree(config->workdir); in ovl_parse_param_upperdir() 323 config->workdir = dup; in ovl_parse_param_upperdir() 732 dput(ofs->workdir); in ovl_free_fs() 754 kfree(ofs->config.workdir); in ovl_free_fs() 772 if (config->workdir) { in ovl_fs_params_verify() 774 config->workdir); in ovl_fs_params_verify() 775 kfree(config->workdir); in ovl_fs_params_verify() 776 config->workdir = NULL; in ovl_fs_params_verify() [all …]
|
| D | ovl_entry.h | 10 char *workdir; member 67 struct dentry *workdir; member
|
| D | copy_up.c | 543 struct dentry *workdir; member 710 struct inode *udir = d_inode(c->destdir), *wdir = d_inode(c->workdir); 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() 875 c->workdir = ovl_indexdir(c->dentry->d_sb); in ovl_do_copy_up() 1044 .workdir = ovl_workdir(dentry), in ovl_copy_up_one() 1047 if (WARN_ON(!ctx.workdir)) in ovl_copy_up_one()
|
| 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()
|
| D | overlayfs.h | 493 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir); 796 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir); 797 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, 831 return (!ovl_upper_mnt(ofs) || !ofs->workdir); in ovl_force_readonly()
|
| 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()
|
| /Linux-v6.6/tools/testing/selftests/hid/ |
| 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()
|
| D | vmtest.sh | 128 --workdir ${OUTPUT_DIR} \
|
| /Linux-v6.6/Documentation/filesystems/ |
| D | overlayfs.rst | 124 workdir=/work /merged 126 The "workdir" needs to be an empty directory on the same filesystem 335 As the example shows, "upperdir=" and "workdir=" may be omitted. In 475 Using an upper layer path and/or a workdir path that are already used by 479 upper layer and/or workdir path the behavior of the overlay is undefined, 717 "$workdir/work/incompat/volatile" is created. During next mount, overlay
|