Lines Matching refs:workdir

47 int ovl_cleanup(struct ovl_fs *ofs, struct dentry *workdir,  in ovl_cleanup()  argument
52 err = ovl_parent_lock(workdir, wdentry); in ovl_cleanup()
56 ovl_cleanup_locked(ofs, workdir->d_inode, wdentry); in ovl_cleanup()
57 ovl_parent_unlock(workdir); in ovl_cleanup()
62 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir) in ovl_lookup_temp() argument
71 temp = ovl_lookup_upper(ofs, name, workdir, strlen(name)); in ovl_lookup_temp()
85 struct dentry *workdir = ofs->workdir; in ovl_whiteout() local
86 struct inode *wdir = workdir->d_inode; in ovl_whiteout()
92 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout()
108 whiteout = ovl_lookup_temp(ofs, workdir); in ovl_whiteout()
146 err = ovl_lock_rename_workdir(ofs->workdir, whiteout, dir, dentry); in ovl_cleanup_and_whiteout()
148 err = ovl_do_rename(ofs, ofs->workdir, whiteout, dir, dentry, flags); in ovl_cleanup_and_whiteout()
149 unlock_rename(ofs->workdir, dir); in ovl_cleanup_and_whiteout()
154 ovl_cleanup(ofs, ofs->workdir, dentry); in ovl_cleanup_and_whiteout()
161 ovl_cleanup(ofs, ofs->workdir, whiteout); in ovl_cleanup_and_whiteout()
224 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir, in ovl_create_temp() argument
228 inode_lock_nested(workdir->d_inode, I_MUTEX_PARENT); in ovl_create_temp()
229 ret = ovl_create_real(ofs, workdir, in ovl_create_temp()
230 ovl_lookup_temp(ofs, workdir), attr); in ovl_create_temp()
231 inode_unlock(workdir->d_inode); in ovl_create_temp()
365 struct dentry *workdir = ovl_workdir(dentry); in ovl_clear_empty() local
373 if (WARN_ON(!workdir)) in ovl_clear_empty()
387 opaquedir = ovl_create_temp(ofs, workdir, OVL_CATTR(stat.mode)); in ovl_clear_empty()
392 err = ovl_lock_rename_workdir(workdir, opaquedir, upperdir, upper); in ovl_clear_empty()
410 err = ovl_do_rename(ofs, workdir, opaquedir, upperdir, upper, RENAME_EXCHANGE); in ovl_clear_empty()
411 unlock_rename(workdir, upperdir); in ovl_clear_empty()
416 ovl_cleanup(ofs, workdir, upper); in ovl_clear_empty()
424 unlock_rename(workdir, upperdir); in ovl_clear_empty()
426 ovl_cleanup(ofs, workdir, opaquedir); in ovl_clear_empty()
445 struct dentry *workdir = ovl_workdir(dentry); in ovl_create_over_whiteout() local
453 if (WARN_ON(!workdir)) in ovl_create_over_whiteout()
473 newdentry = ovl_create_temp(ofs, workdir, cattr); in ovl_create_over_whiteout()
478 err = ovl_lock_rename_workdir(workdir, newdentry, upperdir, upper); in ovl_create_over_whiteout()
515 err = ovl_do_rename(ofs, workdir, newdentry, upperdir, upper, in ovl_create_over_whiteout()
517 unlock_rename(workdir, upperdir); in ovl_create_over_whiteout()
521 ovl_cleanup(ofs, workdir, upper); in ovl_create_over_whiteout()
523 err = ovl_do_rename(ofs, workdir, newdentry, upperdir, upper, 0); in ovl_create_over_whiteout()
524 unlock_rename(workdir, upperdir); in ovl_create_over_whiteout()
544 unlock_rename(workdir, upperdir); in ovl_create_over_whiteout()
546 ovl_cleanup(ofs, workdir, newdentry); in ovl_create_over_whiteout()
767 struct dentry *workdir = ovl_workdir(dentry); in ovl_remove_and_whiteout() local
773 if (WARN_ON(!workdir)) in ovl_remove_and_whiteout()