Lines Matching full:parent
47 /* Parent pointers */
49 /* Look for an entry in a parent pointing to this inode. */
85 * Try to lock a parent directory for checking dirents. Returns the inode
107 * Given the inode number of the alleged parent of the inode being scrubbed,
108 * try to validate that the parent has exactly one directory entry pointing
150 * If we're an unlinked directory, the parent /won't/ have a link in xchk_parent_validate()
156 * Grab the parent directory inode. This must be released before we in xchk_parent_validate()
159 * If _iget returns -EINVAL or -ENOENT then the parent inode number is in xchk_parent_validate()
161 * -EFSCORRUPTED or -EFSBADCRC then the parent is corrupt which is a in xchk_parent_validate()
187 * We cannot yet validate this parent pointer if the directory looks as in xchk_parent_validate()
202 /* Look for a directory entry in the parent pointing to the child. */ in xchk_parent_validate()
208 * Ensure that the parent has as many links to the child as the child in xchk_parent_validate()
209 * thinks it has to the parent. in xchk_parent_validate()
222 * Checking of Parent Pointers
225 * On filesystems with directory parent pointers, we check the referential
226 * integrity by visiting each parent pointer of a child file and checking that
231 /* Deferred parent pointer entry that we saved for later. */
236 /* Parent pointer record. */
246 /* How many parent pointers did we find at the end? */
249 /* Parent of this directory. */
255 /* Blobs containing parent pointer names. */
269 /* Does this parent pointer match the dotdot entry? */
336 /* Found a parent pointer that matches dotdot. */ in xchk_parent_pptr_and_dotdot()
340 /* Found a broken parent pointer or no match. */ in xchk_parent_pptr_and_dotdot()
348 * Try to lock a parent directory for checking dirents. Returns the inode
377 /* Check the forward link (dirent) associated with this parent pointer. */
389 * Use the name attached to this parent pointer to look up the in xchk_parent_dirent()
390 * directory entry in the alleged parent. in xchk_parent_dirent()
409 /* Try to grab a parent directory. */
436 /* The parent must be a directory. */ in xchk_parent_iget()
456 * Walk an xattr of a file. If this xattr is a parent pointer, follow it up
457 * to a parent directory and check that the parent has a dirent pointing back
492 /* No self-referential parent pointers. */ in xchk_parent_scan_attr()
543 * Revalidate a parent pointer that we collected in the past but couldn't check
544 * because of lock contention. Returns 0 if the parent pointer is still valid,
558 /* Parent pointer went away, nothing to revalidate. */ in xchk_parent_revalidate_pptr()
566 * Check a parent pointer the slow way, which means we cycle locks a bunch
580 /* Check that the deferred parent pointer still exists. */ in xchk_parent_slow_pptr()
597 * If we can grab both IOLOCK and ILOCK of the alleged parent, we in xchk_parent_slow_pptr()
607 * We couldn't lock the parent dir. Drop all the locks and try to in xchk_parent_slow_pptr()
619 /* Revalidate the parent pointer now that we cycled locks. */ in xchk_parent_slow_pptr()
637 /* Check all the parent pointers that we deferred the first time around. */
671 /* Count the number of parent pointers. */
699 * Compare the number of parent pointers to the link count. For
711 * If we cycled the ILOCK while cross-checking parent pointers with in xchk_parent_count_pptrs()
712 * dirents, then we need to recalculate the number of parent pointers. in xchk_parent_count_pptrs()
719 /* Found a bad parent pointer */ in xchk_parent_count_pptrs()
738 * Starting with metadir, we allow checking of parent pointers in xchk_parent_count_pptrs()
740 * Pretend that we found a parent pointer attr. in xchk_parent_count_pptrs()
752 /* Check parent pointers of a file. */
768 * Set up some staging memory for parent pointers that we can't check in xchk_parent_pptr()
771 descr = xchk_xfile_ino_descr(sc, "slow parent pointer entries"); in xchk_parent_pptr()
778 descr = xchk_xfile_ino_descr(sc, "slow parent pointer names"); in xchk_parent_pptr()
806 * inode as the parent pointers. in xchk_parent_pptr()
809 * one parent pointer, and it should point to the same directory as in xchk_parent_pptr()
827 * Complain if the number of parent pointers doesn't match the link in xchk_parent_pptr()
828 * count. This could be a sign of missing parent pointers (or an in xchk_parent_pptr()
844 /* Scrub a parent pointer. */
884 * Check that the dotdot entry points to a parent directory in xchk_parent()
901 * Decide if this file's extended attributes (and therefore its parent
923 * of a parent pointer scan is always the empty set. It's safe to scan in xchk_pptr_looks_zapped()
932 * no parent pointers that might have been zapped. in xchk_pptr_looks_zapped()
939 * attribute fork because that is where parent pointers are in xchk_pptr_looks_zapped()
953 * structure always contain some content when parent pointers are in xchk_pptr_looks_zapped()