Lines Matching full:pp
281 struct xchk_pptrs *pp = priv; in xchk_parent_scan_dotdot() local
293 if (pp->parent_ino == parent_ino) in xchk_parent_scan_dotdot()
302 struct xchk_pptrs *pp) in xchk_parent_pptr_and_dotdot() argument
304 struct xfs_scrub *sc = pp->sc; in xchk_parent_pptr_and_dotdot()
308 error = xchk_dir_lookup(sc, sc->ip, &xfs_name_dotdot, &pp->parent_ino); in xchk_parent_pptr_and_dotdot()
311 if (!xfs_verify_dir_ino(sc->mp, pp->parent_ino)) { in xchk_parent_pptr_and_dotdot()
318 if (sc->ip->i_ino != pp->parent_ino) in xchk_parent_pptr_and_dotdot()
330 if (pp->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) in xchk_parent_pptr_and_dotdot()
334 error = xchk_xattr_walk(sc, sc->ip, xchk_parent_scan_dotdot, NULL, pp); in xchk_parent_pptr_and_dotdot()
380 struct xchk_pptrs *pp, in xchk_parent_dirent() argument
384 struct xfs_scrub *sc = pp->sc; in xchk_parent_dirent()
412 struct xchk_pptrs *pp, in xchk_parent_iget() argument
416 struct xfs_scrub *sc = pp->sc; in xchk_parent_iget()
475 struct xchk_pptrs *pp = priv; in xchk_parent_scan_attr() local
498 pp->pptrs_found++; in xchk_parent_scan_attr()
500 error = xchk_parent_iget(pp, pptr_rec, &dp); in xchk_parent_scan_attr()
517 error = xfblob_storename(pp->pptr_names, &save_pp.name_cookie, in xchk_parent_scan_attr()
523 error = xfarray_append(pp->pptr_entries, &save_pp); in xchk_parent_scan_attr()
531 error = xchk_parent_dirent(pp, &xname, dp); in xchk_parent_scan_attr()
549 struct xchk_pptrs *pp, in xchk_parent_revalidate_pptr() argument
553 struct xfs_scrub *sc = pp->sc; in xchk_parent_revalidate_pptr()
556 error = xfs_parent_lookup(sc->tp, sc->ip, xname, pptr, &pp->pptr_args); in xchk_parent_revalidate_pptr()
571 struct xchk_pptrs *pp, in xchk_parent_slow_pptr() argument
575 struct xfs_scrub *sc = pp->sc; in xchk_parent_slow_pptr()
581 if (pp->need_revalidate) { in xchk_parent_slow_pptr()
582 error = xchk_parent_revalidate_pptr(pp, xname, pptr); in xchk_parent_slow_pptr()
590 error = xchk_parent_iget(pp, pptr, &dp); in xchk_parent_slow_pptr()
611 pp->need_revalidate = true; in xchk_parent_slow_pptr()
620 error = xchk_parent_revalidate_pptr(pp, xname, pptr); in xchk_parent_slow_pptr()
629 error = xchk_parent_dirent(pp, xname, dp); in xchk_parent_slow_pptr()
640 struct xchk_pptrs *pp) in xchk_parent_finish_slow_pptrs() argument
645 foreach_xfarray_idx(pp->pptr_entries, array_cur) { in xchk_parent_finish_slow_pptrs()
648 if (pp->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) in xchk_parent_finish_slow_pptrs()
651 error = xfarray_load(pp->pptr_entries, array_cur, &pptr); in xchk_parent_finish_slow_pptrs()
655 error = xfblob_loadname(pp->pptr_names, pptr.name_cookie, in xchk_parent_finish_slow_pptrs()
656 &pp->xname, pptr.namelen); in xchk_parent_finish_slow_pptrs()
660 error = xchk_parent_slow_pptr(pp, &pp->xname, &pptr.pptr_rec); in xchk_parent_finish_slow_pptrs()
666 xfarray_truncate(pp->pptr_entries); in xchk_parent_finish_slow_pptrs()
667 xfblob_truncate(pp->pptr_names); in xchk_parent_finish_slow_pptrs()
683 struct xchk_pptrs *pp = priv; in xchk_parent_count_pptr() local
694 pp->pptrs_found++; in xchk_parent_count_pptr()
705 struct xchk_pptrs *pp) in xchk_parent_count_pptrs() argument
707 struct xfs_scrub *sc = pp->sc; in xchk_parent_count_pptrs()
714 if (pp->need_revalidate) { in xchk_parent_count_pptrs()
715 pp->pptrs_found = 0; in xchk_parent_count_pptrs()
717 NULL, pp); in xchk_parent_count_pptrs()
729 pp->pptrs_found++; in xchk_parent_count_pptrs()
731 if (VFS_I(sc->ip)->i_nlink == 0 && pp->pptrs_found > 0) in xchk_parent_count_pptrs()
734 pp->pptrs_found == 0) in xchk_parent_count_pptrs()
743 pp->pptrs_found++; in xchk_parent_count_pptrs()
745 if (VFS_I(sc->ip)->i_nlink != pp->pptrs_found) in xchk_parent_count_pptrs()
757 struct xchk_pptrs *pp; in xchk_parent_pptr() local
761 pp = kvzalloc(sizeof(struct xchk_pptrs), XCHK_GFP_FLAGS); in xchk_parent_pptr()
762 if (!pp) in xchk_parent_pptr()
764 pp->sc = sc; in xchk_parent_pptr()
765 pp->xname.name = pp->namebuf; in xchk_parent_pptr()
773 &pp->pptr_entries); in xchk_parent_pptr()
779 error = xfblob_create(descr, &pp->pptr_names); in xchk_parent_pptr()
784 error = xchk_xattr_walk(sc, sc->ip, xchk_parent_scan_attr, NULL, pp); in xchk_parent_pptr()
792 error = xchk_parent_finish_slow_pptrs(pp); in xchk_parent_pptr()
801 if (pp->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) in xchk_parent_pptr()
818 error = xchk_parent_pptr_and_dotdot(pp); in xchk_parent_pptr()
823 if (pp->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) in xchk_parent_pptr()
831 error = xchk_parent_count_pptrs(pp); in xchk_parent_pptr()
836 xfblob_destroy(pp->pptr_names); in xchk_parent_pptr()
838 xfarray_destroy(pp->pptr_entries); in xchk_parent_pptr()
840 kvfree(pp); in xchk_parent_pptr()