| /linux-6.15/fs/overlayfs/ |
| H A D | super.c | 446 if (workdir != upperdir) { in ovl_workdir_ok() 559 struct dentry *workdir = ofs->workdir; in ovl_check_rename_whiteout() local 658 struct dentry *workdir; in ovl_make_workdir() local 670 err = PTR_ERR(workdir); in ovl_make_workdir() 674 ofs->workdir = workdir; in ovl_make_workdir() 857 dput(ofs->workdir); in ovl_get_indexdir() 858 ofs->workdir = NULL; in ovl_get_indexdir() 863 ofs->workdir = indexdir; in ovl_get_indexdir() 1410 if (!ofs->workdir) in ovl_fill_super() 1439 if (!ofs->workdir) in ovl_fill_super() [all …]
|
| H A D | dir.c | 70 struct dentry *workdir = ofs->workdir; in ovl_whiteout() local 71 struct inode *wdir = workdir->d_inode; in ovl_whiteout() 339 struct inode *wdir = workdir->d_inode; in ovl_clear_empty() 348 if (WARN_ON(!workdir)) in ovl_clear_empty() 393 unlock_rename(workdir, upperdir); in ovl_clear_empty() 404 unlock_rename(workdir, upperdir); in ovl_clear_empty() 423 struct inode *wdir = workdir->d_inode; in ovl_create_over_whiteout() 432 if (WARN_ON(!workdir)) in ovl_create_over_whiteout() 514 unlock_rename(workdir, upperdir); in ovl_create_over_whiteout() 750 if (WARN_ON(!workdir)) in ovl_remove_and_whiteout() [all …]
|
| H A D | params.c | 348 swap(config->workdir, *pname); in ovl_add_layer() 816 dput(ofs->workdir); in ovl_free_fs() 838 kfree(ofs->config.workdir); in ovl_free_fs() 851 if (config->workdir) { in ovl_fs_params_verify() 853 config->workdir); in ovl_fs_params_verify() 854 kfree(config->workdir); in ovl_fs_params_verify() 855 config->workdir = NULL; in ovl_fs_params_verify() 1073 seq_show_option(m, "workdir", ofs->config.workdir); in ovl_show_options()
|
| H A D | ovl_entry.h | 10 char *workdir; member 69 struct dentry *workdir; member
|
| H A D | copy_up.c | 587 struct dentry *workdir; member 765 struct inode *udir = d_inode(c->destdir), *wdir = d_inode(c->workdir); in ovl_copy_up_workdir() 783 temp = ovl_create_temp(ofs, c->workdir, &cattr); in ovl_copy_up_workdir() 804 trap = lock_rename(c->workdir, c->destdir); in ovl_copy_up_workdir() 805 if (trap || temp->d_parent != c->workdir) { in ovl_copy_up_workdir() 850 unlock_rename(c->workdir, c->destdir); in ovl_copy_up_workdir() 877 tmpfile = ovl_do_tmpfile(ofs, c->workdir, c->stat.mode); in ovl_copy_up_tmpfile() 954 c->workdir = ovl_indexdir(c->dentry->d_sb); in ovl_do_copy_up() 1145 .workdir = ovl_workdir(dentry), in ovl_copy_up_one() 1148 if (WARN_ON(!ctx.workdir)) in ovl_copy_up_one()
|
| H A D | util.c | 61 return ofs->workdir; in ovl_workdir() 99 return ofs->config.index ? ofs->workdir : NULL; in ovl_indexdir() 1220 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir) in ovl_lock_rename_workdir() argument 1225 if (workdir == upperdir) in ovl_lock_rename_workdir() 1229 trap = lock_rename(workdir, upperdir); in ovl_lock_rename_workdir() 1238 unlock_rename(workdir, upperdir); in ovl_lock_rename_workdir()
|
| H A D | overlayfs.h | 536 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir); 844 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir); 845 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, 881 return (!ovl_upper_mnt(ofs) || !ofs->workdir); in ovl_force_readonly()
|
| H A D | inode.c | 540 struct dentry *workdir = ovl_workdir(dentry); in ovl_set_acl() local 543 if (!IS_POSIXACL(d_inode(workdir))) in ovl_set_acl()
|
| H A D | namei.c | 760 index = lookup_positive_unlocked(name.name, ofs->workdir, name.len); in ovl_get_index_fh() 793 ofs->workdir, name.len); in ovl_lookup_index()
|
| H A D | readdir.c | 1173 struct dentry *indexdir = ofs->workdir; in ovl_indexdir_cleanup()
|
| /linux-6.15/tools/testing/selftests/hid/ |
| H A D | hid_common.h | 313 static bool match_sysfs_device(struct uhid_device *hid, const char *workdir, struct dirent *dir) in match_sysfs_device() argument 328 sprintf(uevent, "%s/%s/uevent", workdir, dir->d_name); in match_sysfs_device() 347 const char *workdir = "/sys/devices/virtual/misc/uhid"; in get_hid_id() local 357 d = opendir(workdir); in get_hid_id() 360 if (!match_sysfs_device(hid, workdir, dir)) in get_hid_id() 379 const char *workdir = "/sys/devices/virtual/misc/uhid"; in get_hidraw() local 388 d = opendir(workdir); in get_hidraw() 394 if (!match_sysfs_device(hid, workdir, dir)) in get_hidraw() 397 sprintf(sysfs, "%s/%s/hidraw", workdir, dir->d_name); in get_hidraw()
|
| H A D | vmtest.sh | 129 --workdir ${OUTPUT_DIR} \
|
| /linux-6.15/Documentation/filesystems/ |
| H A D | overlayfs.rst | 124 workdir=/work /merged 126 The "workdir" needs to be an empty directory on the same filesystem 358 As the example shows, "upperdir=" and "workdir=" may be omitted. In 462 "datadir+", "lowerdir+", "upperdir", and "workdir+" mount options with the 470 fsconfig(fs_fd, FSCONFIG_SET_FD, "workdir", NULL, fd_work); 529 Using an upper layer path and/or a workdir path that are already used by 533 upper layer and/or workdir path the behavior of the overlay is undefined, 799 "$workdir/work/incompat/volatile" is created. During next mount, overlay
|