• Home
  • Raw
  • Download

Lines Matching refs:index

490 struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index)  in ovl_index_upper()  argument
495 if (!d_is_dir(index)) in ovl_index_upper()
496 return dget(index); in ovl_index_upper()
498 fh = ovl_get_fh(ofs, index, OVL_XATTR_UPPER); in ovl_index_upper()
510 index, upper); in ovl_index_upper()
523 int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index) in ovl_verify_index() argument
532 if (!d_inode(index)) in ovl_verify_index()
536 if (index->d_name.len < sizeof(struct ovl_fb)*2) in ovl_verify_index()
540 len = index->d_name.len / 2; in ovl_verify_index()
546 if (hex2bin(fh->buf, index->d_name.name, len)) in ovl_verify_index()
558 if (ovl_is_whiteout(index)) in ovl_verify_index()
565 if (d_is_dir(index) && !ofs->config.nfs_export) in ovl_verify_index()
575 upper = ovl_index_upper(ofs, index); in ovl_verify_index()
597 if (!d_is_dir(index) && d_inode(index)->i_nlink == 1) { in ovl_verify_index()
598 err = ovl_check_origin_fh(ofs, fh, false, index, &stack); in ovl_verify_index()
602 if (ovl_get_nlink(ofs, origin.dentry, index, 0) == 0) in ovl_verify_index()
613 index, d_inode(index)->i_mode & S_IFMT, err); in ovl_verify_index()
618 index, d_inode(index)->i_mode & S_IFMT, in ovl_verify_index()
619 d_inode(index)->i_nlink); in ovl_verify_index()
673 struct dentry *index; in ovl_get_index_fh() local
681 index = lookup_positive_unlocked(name.name, ofs->indexdir, name.len); in ovl_get_index_fh()
683 if (IS_ERR(index)) { in ovl_get_index_fh()
684 if (PTR_ERR(index) == -ENOENT) in ovl_get_index_fh()
685 index = NULL; in ovl_get_index_fh()
686 return index; in ovl_get_index_fh()
689 if (ovl_is_whiteout(index)) in ovl_get_index_fh()
691 else if (ovl_dentry_weird(index)) in ovl_get_index_fh()
694 return index; in ovl_get_index_fh()
696 dput(index); in ovl_get_index_fh()
703 struct dentry *index; in ovl_lookup_index() local
713 index = lookup_one_positive_unlocked(ovl_upper_mnt_userns(ofs), name.name, in ovl_lookup_index()
715 if (IS_ERR(index)) { in ovl_lookup_index()
716 err = PTR_ERR(index); in ovl_lookup_index()
718 index = NULL; in ovl_lookup_index()
728 inode = d_inode(index); in ovl_lookup_index()
729 if (ovl_is_whiteout(index) && !verify) { in ovl_lookup_index()
736 dput(index); in ovl_lookup_index()
737 index = ERR_PTR(-ESTALE); in ovl_lookup_index()
739 } else if (ovl_dentry_weird(index) || ovl_is_whiteout(index) || in ovl_lookup_index()
749 index, d_inode(index)->i_mode & S_IFMT, in ovl_lookup_index()
755 origin, index); in ovl_lookup_index()
760 err = ovl_verify_upper(ofs, index, upper, false); in ovl_lookup_index()
764 upper, origin, index); in ovl_lookup_index()
773 return index; in ovl_lookup_index()
776 dput(index); in ovl_lookup_index()
777 index = NULL; in ovl_lookup_index()
781 dput(index); in ovl_lookup_index()
782 index = ERR_PTR(-EIO); in ovl_lookup_index()
840 struct dentry *index = NULL; in ovl_lookup() local
960 (!d.is_dir && ofs->config.index && origin_path))) { in ovl_lookup()
1061 index = ovl_lookup_index(ofs, upperdentry, origin, true); in ovl_lookup()
1062 if (IS_ERR(index)) { in ovl_lookup()
1063 err = PTR_ERR(index); in ovl_lookup()
1064 index = NULL; in ovl_lookup()
1082 else if (index) { in ovl_lookup()
1084 .dentry = upperdentry = dget(index), in ovl_lookup()
1104 .index = index, in ovl_lookup()
1126 dput(index); in ovl_lookup()
1135 dput(index); in ovl_lookup()