Lines Matching refs:ofs

196 static int ovl_copy_up_file(struct ovl_fs *ofs, struct dentry *dentry,  in ovl_copy_up_file()  argument
280 if (!error && ovl_should_sync(ofs)) in ovl_copy_up_file()
287 static int ovl_set_size(struct ovl_fs *ofs, in ovl_set_size() argument
295 return ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_size()
298 static int ovl_set_timestamps(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_set_timestamps() argument
308 return ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_timestamps()
311 int ovl_set_attr(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_set_attr() argument
321 err = ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_attr()
329 err = ovl_do_notify_change(ofs, upperdentry, &attr); in ovl_set_attr()
332 ovl_set_timestamps(ofs, upperdentry, stat); in ovl_set_attr()
337 struct ovl_fh *ovl_encode_real_fh(struct ovl_fs *ofs, struct dentry *real, in ovl_encode_real_fh() argument
382 if (ofs->config.uuid) in ovl_encode_real_fh()
392 int ovl_set_origin(struct ovl_fs *ofs, struct dentry *lower, in ovl_set_origin() argument
404 fh = ovl_encode_real_fh(ofs, lower, false); in ovl_set_origin()
412 err = ovl_check_setxattr(ofs, upper, OVL_XATTR_ORIGIN, fh->buf, in ovl_set_origin()
421 static int ovl_set_upper_fh(struct ovl_fs *ofs, struct dentry *upper, in ovl_set_upper_fh() argument
427 fh = ovl_encode_real_fh(ofs, upper, true); in ovl_set_upper_fh()
431 err = ovl_setxattr(ofs, index, OVL_XATTR_UPPER, fh->buf, fh->fb.len); in ovl_set_upper_fh()
445 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_create_index() local
468 err = ovl_get_index_name(ofs, origin, &name); in ovl_create_index()
472 temp = ovl_create_temp(ofs, indexdir, OVL_CATTR(S_IFDIR | 0)); in ovl_create_index()
477 err = ovl_set_upper_fh(ofs, upper, temp); in ovl_create_index()
481 index = ovl_lookup_upper(ofs, name.name, indexdir, name.len); in ovl_create_index()
485 err = ovl_do_rename(ofs, dir, temp, dir, index, 0); in ovl_create_index()
490 ovl_cleanup(ofs, dir, temp); in ovl_create_index()
517 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_link_up() local
530 upper = ovl_lookup_upper(ofs, c->dentry->d_name.name, upperdir, in ovl_link_up()
534 err = ovl_do_link(ofs, ovl_dentry_upper(c->dentry), udir, upper); in ovl_link_up()
539 ovl_set_timestamps(ofs, upperdir, &c->pstat); in ovl_link_up()
554 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_copy_up_data() local
565 err = ovl_copy_up_file(ofs, c->dentry, new_file, c->stat.size); in ovl_copy_up_data()
573 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_copy_up_metadata() local
575 struct path upperpath = { .mnt = ovl_upper_mnt(ofs), .dentry = temp }; in ovl_copy_up_metadata()
600 err = ovl_set_origin(ofs, c->lowerpath.dentry, temp); in ovl_copy_up_metadata()
606 err = ovl_check_setxattr(ofs, temp, OVL_XATTR_METACOPY, in ovl_copy_up_metadata()
614 err = ovl_set_size(ofs, temp, &c->stat); in ovl_copy_up_metadata()
616 err = ovl_set_attr(ofs, temp, &c->stat); in ovl_copy_up_metadata()
656 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_copy_up_workdir() local
659 struct path path = { .mnt = ovl_upper_mnt(ofs) }; in ovl_copy_up_workdir()
679 temp = ovl_create_temp(ofs, c->workdir, &cattr); in ovl_copy_up_workdir()
705 upper = ovl_lookup_upper(ofs, c->destname.name, c->destdir, in ovl_copy_up_workdir()
711 err = ovl_do_rename(ofs, wdir, temp, udir, upper, 0); in ovl_copy_up_workdir()
728 ovl_cleanup(ofs, wdir, temp); in ovl_copy_up_workdir()
736 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_copy_up_tmpfile() local
747 tmpfile = ovl_do_tmpfile(ofs, c->workdir, c->stat.mode); in ovl_copy_up_tmpfile()
755 err = ovl_copy_up_file(ofs, c->dentry, tmpfile, c->stat.size); in ovl_copy_up_tmpfile()
766 upper = ovl_lookup_upper(ofs, c->destname.name, c->destdir, in ovl_copy_up_tmpfile()
770 err = ovl_do_link(ofs, temp, udir, upper); in ovl_copy_up_tmpfile()
799 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_do_copy_up() local
821 err = ovl_get_index_name(ofs, c->lowerpath.dentry, &c->destname); in ovl_do_copy_up()
838 if (S_ISREG(c->stat.mode) && ofs->tmpfile) in ovl_do_copy_up()
856 ovl_set_timestamps(ofs, c->destdir, &c->pstat); in ovl_do_copy_up()
871 struct ovl_fs *ofs = dentry->d_sb->s_fs_info; in ovl_need_meta_copy_up() local
873 if (!ofs->config.metacopy) in ovl_need_meta_copy_up()
911 struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb); in ovl_copy_up_meta_inode_data() local
937 err = ovl_do_setxattr(ofs, upperpath.dentry, XATTR_NAME_CAPS, in ovl_copy_up_meta_inode_data()
944 err = ovl_removexattr(ofs, upperpath.dentry, OVL_XATTR_METACOPY); in ovl_copy_up_meta_inode_data()