Lines Matching refs:dip
54 struct xfs_dinode *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, 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()
155 struct xfs_dinode *dip, in xfs_inode_from_disk_ts() argument
161 if (xfs_dinode_has_bigtime(dip)) in xfs_inode_from_disk_ts()
335 struct xfs_dinode *dip, in xfs_dinode_verify_fork() argument
339 uint32_t di_nextents = XFS_DFORK_NEXTENTS(dip, whichfork); in xfs_dinode_verify_fork()
341 switch (XFS_DFORK_FORMAT(dip, whichfork)) { in xfs_dinode_verify_fork()
347 if (S_ISREG(be16_to_cpu(dip->di_mode))) in xfs_dinode_verify_fork()
349 if (be64_to_cpu(dip->di_size) > in xfs_dinode_verify_fork()
350 XFS_DFORK_SIZE(dip, mp, whichfork)) in xfs_dinode_verify_fork()
357 if (di_nextents > XFS_DFORK_MAXEXT(dip, mp, whichfork)) in xfs_dinode_verify_fork()
376 struct xfs_dinode *dip, in xfs_dinode_verify_forkoff() argument
379 if (!dip->di_forkoff) in xfs_dinode_verify_forkoff()
382 switch (dip->di_format) { in xfs_dinode_verify_forkoff()
384 if (dip->di_forkoff != (roundup(sizeof(xfs_dev_t), 8) >> 3)) in xfs_dinode_verify_forkoff()
390 if (dip->di_forkoff >= (XFS_LITINO(mp) >> 3)) in xfs_dinode_verify_forkoff()
403 struct xfs_dinode *dip) in xfs_dinode_verify() argument
411 if (dip->di_magic != cpu_to_be16(XFS_DINODE_MAGIC)) in xfs_dinode_verify()
415 if (dip->di_version >= 3) { in xfs_dinode_verify()
418 if (!xfs_verify_cksum((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_verify()
421 if (be64_to_cpu(dip->di_ino) != ino) in xfs_dinode_verify()
423 if (!uuid_equal(&dip->di_uuid, &mp->m_sb.sb_meta_uuid)) in xfs_dinode_verify()
428 di_size = be64_to_cpu(dip->di_size); in xfs_dinode_verify()
432 mode = be16_to_cpu(dip->di_mode); in xfs_dinode_verify()
442 be32_to_cpu(dip->di_nextents) + be16_to_cpu(dip->di_anextents) > in xfs_dinode_verify()
443 be64_to_cpu(dip->di_nblocks)) in xfs_dinode_verify()
446 if (mode && XFS_DFORK_BOFF(dip) > mp->m_sb.sb_inodesize) in xfs_dinode_verify()
449 flags = be16_to_cpu(dip->di_flags); in xfs_dinode_verify()
455 fa = xfs_dinode_verify_forkoff(dip, mp); in xfs_dinode_verify()
465 if (dip->di_format != XFS_DINODE_FMT_DEV) in xfs_dinode_verify()
471 fa = xfs_dinode_verify_fork(dip, mp, XFS_DATA_FORK); in xfs_dinode_verify()
482 if (dip->di_forkoff) { in xfs_dinode_verify()
483 fa = xfs_dinode_verify_fork(dip, mp, XFS_ATTR_FORK); in xfs_dinode_verify()
493 switch (dip->di_aformat) { in xfs_dinode_verify()
500 if (dip->di_anextents) in xfs_dinode_verify()
505 fa = xfs_inode_validate_extsize(mp, be32_to_cpu(dip->di_extsize), in xfs_dinode_verify()
511 if (dip->di_version < 3) in xfs_dinode_verify()
514 flags2 = be64_to_cpu(dip->di_flags2); in xfs_dinode_verify()
530 fa = xfs_inode_validate_cowextsize(mp, be32_to_cpu(dip->di_cowextsize), in xfs_dinode_verify()
536 if (xfs_dinode_has_bigtime(dip) && in xfs_dinode_verify()
546 struct xfs_dinode *dip) in xfs_dinode_calc_crc() argument
550 if (dip->di_version < 3) in xfs_dinode_calc_crc()
554 crc = xfs_start_cksum_update((char *)dip, mp->m_sb.sb_inodesize, in xfs_dinode_calc_crc()
556 dip->di_crc = xfs_end_cksum(crc); in xfs_dinode_calc_crc()