Lines Matching refs:dip
55 struct xfs_dinode *dip; in xfs_inode_buf_verify() local
59 dip = xfs_buf_offset(bp, (i << mp->m_sb.sb_inodelog)); in xfs_inode_buf_verify()
60 unlinked_ino = be32_to_cpu(dip->di_next_unlinked); in xfs_inode_buf_verify()
61 di_ok = xfs_verify_magic16(bp, dip->di_magic) && in xfs_inode_buf_verify()
62 xfs_dinode_good_version(mp, dip->di_version) && in xfs_inode_buf_verify()
76 be16_to_cpu(dip->di_magic)); in xfs_inode_buf_verify()
79 __func__, dip, sizeof(*dip), in xfs_inode_buf_verify()
161 struct xfs_dinode *dip, in xfs_inode_from_disk_ts() argument
167 if (xfs_dinode_has_bigtime(dip)) in xfs_inode_from_disk_ts()
369 struct xfs_dinode *dip, in xfs_dinode_verify_fork() argument
375 mode_t mode = be16_to_cpu(dip->di_mode); in xfs_dinode_verify_fork()
376 uint32_t fork_size = XFS_DFORK_SIZE(dip, mp, whichfork); in xfs_dinode_verify_fork()
377 uint32_t fork_format = XFS_DFORK_FORMAT(dip, whichfork); in xfs_dinode_verify_fork()
379 di_nextents = xfs_dfork_nextents(dip, whichfork); in xfs_dinode_verify_fork()
394 if (dip->di_size && in xfs_dinode_verify_fork()
395 be64_to_cpu(dip->di_size) <= fork_size && in xfs_dinode_verify_fork()
407 if (be64_to_cpu(dip->di_size) <= fork_size && in xfs_dinode_verify_fork()
418 if (be64_to_cpu(dip->di_size) > fork_size && in xfs_dinode_verify_fork()
434 if (di_nextents > XFS_DFORK_MAXEXT(dip, mp, whichfork)) in xfs_dinode_verify_fork()
439 xfs_dinode_has_large_extent_counts(dip), in xfs_dinode_verify_fork()
447 if (!(dip->di_flags2 & cpu_to_be64(XFS_DIFLAG2_METADATA))) in xfs_dinode_verify_fork()
449 switch (be16_to_cpu(dip->di_metatype)) { in xfs_dinode_verify_fork()
476 struct xfs_dinode *dip, in xfs_dinode_verify_forkoff() argument
479 if (!dip->di_forkoff) in xfs_dinode_verify_forkoff()
482 switch (dip->di_format) { in xfs_dinode_verify_forkoff()
484 if (dip->di_forkoff != (roundup(sizeof(xfs_dev_t), 8) >> 3)) in xfs_dinode_verify_forkoff()
494 if (dip->di_forkoff >= (XFS_LITINO(mp) >> 3)) in xfs_dinode_verify_forkoff()
506 struct xfs_dinode *dip) in xfs_dinode_verify_nrext64() argument
508 if (xfs_dinode_has_large_extent_counts(dip)) { in xfs_dinode_verify_nrext64()
511 if (dip->di_nrext64_pad != 0) in xfs_dinode_verify_nrext64()
513 } else if (dip->di_version >= 3) { in xfs_dinode_verify_nrext64()
514 if (dip->di_v3_pad != 0) in xfs_dinode_verify_nrext64()
528 struct xfs_dinode *dip, in xfs_dinode_verify_metadir() argument
537 if (dip->di_version < 3) in xfs_dinode_verify_metadir()
540 if (be16_to_cpu(dip->di_metatype) >= XFS_METAFILE_MAX) in xfs_dinode_verify_metadir()
544 if ((flags2 & XFS_DIFLAG2_NREXT64) && dip->di_nrext64_pad) in xfs_dinode_verify_metadir()
546 if (!(flags2 & XFS_DIFLAG2_NREXT64) && dip->di_flushiter) in xfs_dinode_verify_metadir()
558 if (dip->di_dmevmask || dip->di_dmstate) in xfs_dinode_verify_metadir()
565 if (dip->di_uid || dip->di_gid) in xfs_dinode_verify_metadir()
588 struct xfs_dinode *dip) in xfs_dinode_verify() argument
599 if (dip->di_magic != cpu_to_be16(XFS_DINODE_MAGIC)) in xfs_dinode_verify()
603 if (dip->di_version >= 3) { in xfs_dinode_verify()
606 if (!xfs_verify_cksum((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_verify()
609 if (be64_to_cpu(dip->di_ino) != ino) in xfs_dinode_verify()
611 if (!uuid_equal(&dip->di_uuid, &mp->m_sb.sb_meta_uuid)) in xfs_dinode_verify()
624 if (dip->di_version == 2) { in xfs_dinode_verify()
625 if (dip->di_metatype) in xfs_dinode_verify()
627 } else if (dip->di_version >= 3) { in xfs_dinode_verify()
628 if (!xfs_dinode_is_metadir(dip) && dip->di_metatype) in xfs_dinode_verify()
633 di_size = be64_to_cpu(dip->di_size); in xfs_dinode_verify()
637 mode = be16_to_cpu(dip->di_mode); in xfs_dinode_verify()
646 if (dip->di_version > 1) { in xfs_dinode_verify()
647 if (dip->di_nlink) in xfs_dinode_verify()
651 if (dip->di_metatype) in xfs_dinode_verify()
656 fa = xfs_dinode_verify_nrext64(mp, dip); in xfs_dinode_verify()
660 nextents = xfs_dfork_data_extents(dip); in xfs_dinode_verify()
661 naextents = xfs_dfork_attr_extents(dip); in xfs_dinode_verify()
662 nblocks = be64_to_cpu(dip->di_nblocks); in xfs_dinode_verify()
671 if (mode && XFS_DFORK_BOFF(dip) > mp->m_sb.sb_inodesize) in xfs_dinode_verify()
674 flags = be16_to_cpu(dip->di_flags); in xfs_dinode_verify()
680 fa = xfs_dinode_verify_forkoff(dip, mp); in xfs_dinode_verify()
690 if (dip->di_format != XFS_DINODE_FMT_DEV) in xfs_dinode_verify()
696 fa = xfs_dinode_verify_fork(dip, mp, XFS_DATA_FORK); in xfs_dinode_verify()
707 if (dip->di_forkoff) { in xfs_dinode_verify()
708 fa = xfs_dinode_verify_fork(dip, mp, XFS_ATTR_FORK); in xfs_dinode_verify()
718 switch (dip->di_aformat) { in xfs_dinode_verify()
730 fa = xfs_inode_validate_extsize(mp, be32_to_cpu(dip->di_extsize), in xfs_dinode_verify()
736 if (dip->di_version < 3) in xfs_dinode_verify()
739 flags2 = be64_to_cpu(dip->di_flags2); in xfs_dinode_verify()
756 fa = xfs_inode_validate_cowextsize(mp, be32_to_cpu(dip->di_cowextsize), in xfs_dinode_verify()
762 if (xfs_dinode_has_bigtime(dip) && in xfs_dinode_verify()
767 fa = xfs_dinode_verify_metadir(mp, dip, mode, flags, flags2); in xfs_dinode_verify()
773 if (XFS_DFORK_FORMAT(dip, XFS_DATA_FORK) != XFS_DINODE_FMT_META_BTREE) { in xfs_dinode_verify()
784 struct xfs_dinode *dip) in xfs_dinode_calc_crc() argument
788 if (dip->di_version < 3) in xfs_dinode_calc_crc()
792 crc = xfs_start_cksum_update((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_calc_crc()
794 dip->di_crc = xfs_end_cksum(crc); in xfs_dinode_calc_crc()