Lines Matching refs:dip
55 xfs_dinode_t *dip; in xfs_inode_buf_verify() local
58 dip = xfs_buf_offset(bp, (i << mp->m_sb.sb_inodelog)); in xfs_inode_buf_verify()
59 unlinked_ino = be32_to_cpu(dip->di_next_unlinked); in xfs_inode_buf_verify()
60 di_ok = xfs_verify_magic16(bp, dip->di_magic) && in xfs_inode_buf_verify()
61 xfs_dinode_good_version(&mp->m_sb, dip->di_version) && in xfs_inode_buf_verify()
75 be16_to_cpu(dip->di_magic)); in xfs_inode_buf_verify()
78 __func__, dip, sizeof(*dip), in xfs_inode_buf_verify()
174 struct xfs_dinode *dip, in xfs_inode_from_disk_ts() argument
180 if (xfs_dinode_has_bigtime(dip)) in xfs_inode_from_disk_ts()
356 struct xfs_dinode *dip, in xfs_dinode_verify_fork() argument
360 uint32_t di_nextents = XFS_DFORK_NEXTENTS(dip, whichfork); in xfs_dinode_verify_fork()
361 mode_t mode = be16_to_cpu(dip->di_mode); in xfs_dinode_verify_fork()
362 uint32_t fork_size = XFS_DFORK_SIZE(dip, mp, whichfork); in xfs_dinode_verify_fork()
363 uint32_t fork_format = XFS_DFORK_FORMAT(dip, whichfork); in xfs_dinode_verify_fork()
374 if (be64_to_cpu(dip->di_size) <= fork_size && in xfs_dinode_verify_fork()
379 if (be64_to_cpu(dip->di_size) > fork_size && in xfs_dinode_verify_fork()
395 if (di_nextents > XFS_DFORK_MAXEXT(dip, mp, whichfork)) in xfs_dinode_verify_fork()
414 struct xfs_dinode *dip, in xfs_dinode_verify_forkoff() argument
417 if (!dip->di_forkoff) in xfs_dinode_verify_forkoff()
420 switch (dip->di_format) { in xfs_dinode_verify_forkoff()
422 if (dip->di_forkoff != (roundup(sizeof(xfs_dev_t), 8) >> 3)) in xfs_dinode_verify_forkoff()
428 if (dip->di_forkoff >= (XFS_LITINO(mp) >> 3)) in xfs_dinode_verify_forkoff()
441 struct xfs_dinode *dip) in xfs_dinode_verify() argument
449 if (dip->di_magic != cpu_to_be16(XFS_DINODE_MAGIC)) in xfs_dinode_verify()
453 if (dip->di_version >= 3) { in xfs_dinode_verify()
456 if (!xfs_verify_cksum((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_verify()
459 if (be64_to_cpu(dip->di_ino) != ino) in xfs_dinode_verify()
461 if (!uuid_equal(&dip->di_uuid, &mp->m_sb.sb_meta_uuid)) in xfs_dinode_verify()
466 di_size = be64_to_cpu(dip->di_size); in xfs_dinode_verify()
470 mode = be16_to_cpu(dip->di_mode); in xfs_dinode_verify()
480 be32_to_cpu(dip->di_nextents) + be16_to_cpu(dip->di_anextents) > in xfs_dinode_verify()
481 be64_to_cpu(dip->di_nblocks)) in xfs_dinode_verify()
484 if (mode && XFS_DFORK_BOFF(dip) > mp->m_sb.sb_inodesize) in xfs_dinode_verify()
487 flags = be16_to_cpu(dip->di_flags); in xfs_dinode_verify()
493 fa = xfs_dinode_verify_forkoff(dip, mp); in xfs_dinode_verify()
503 if (dip->di_format != XFS_DINODE_FMT_DEV) in xfs_dinode_verify()
509 fa = xfs_dinode_verify_fork(dip, mp, XFS_DATA_FORK); in xfs_dinode_verify()
520 if (dip->di_forkoff) { in xfs_dinode_verify()
521 fa = xfs_dinode_verify_fork(dip, mp, XFS_ATTR_FORK); in xfs_dinode_verify()
531 switch (dip->di_aformat) { in xfs_dinode_verify()
538 if (dip->di_anextents) in xfs_dinode_verify()
543 fa = xfs_inode_validate_extsize(mp, be32_to_cpu(dip->di_extsize), in xfs_dinode_verify()
549 if (dip->di_version < 3) in xfs_dinode_verify()
552 flags2 = be64_to_cpu(dip->di_flags2); in xfs_dinode_verify()
572 fa = xfs_inode_validate_cowextsize(mp, be32_to_cpu(dip->di_cowextsize), in xfs_dinode_verify()
578 if (xfs_dinode_has_bigtime(dip) && in xfs_dinode_verify()
588 struct xfs_dinode *dip) in xfs_dinode_calc_crc() argument
592 if (dip->di_version < 3) in xfs_dinode_calc_crc()
596 crc = xfs_start_cksum_update((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_calc_crc()
598 dip->di_crc = xfs_end_cksum(crc); in xfs_dinode_calc_crc()