Lines Matching full:fs
45 #include <fs/ext2fs/fs.h>
46 #include <fs/ext2fs/ext2fs.h>
47 #include <fs/ext2fs/ext2_dinode.h>
48 #include <fs/ext2fs/inode.h>
49 #include <fs/ext2fs/ext2_dir.h>
50 #include <fs/ext2fs/htree.h>
51 #include <fs/ext2fs/ext2_extattr.h>
52 #include <fs/ext2fs/ext2_extern.h>
75 ext2_sb_csum_set_seed(struct m_ext2fs *fs) in ext2_sb_csum_set_seed() argument
78 if (EXT2_HAS_INCOMPAT_FEATURE(fs, EXT2F_INCOMPAT_CSUM_SEED)) in ext2_sb_csum_set_seed()
79 fs->e2fs_csum_seed = le32toh(fs->e2fs->e4fs_chksum_seed); in ext2_sb_csum_set_seed()
80 else if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) { in ext2_sb_csum_set_seed()
81 fs->e2fs_csum_seed = calculate_crc32c(~0, fs->e2fs->e2fs_uuid, in ext2_sb_csum_set_seed()
82 sizeof(fs->e2fs->e2fs_uuid)); in ext2_sb_csum_set_seed()
85 fs->e2fs_csum_seed = 0; in ext2_sb_csum_set_seed()
89 ext2_sb_csum_verify(struct m_ext2fs *fs) in ext2_sb_csum_verify() argument
92 if (fs->e2fs->e4fs_chksum_type != EXT4_CRC32C_CHKSUM) { in ext2_sb_csum_verify()
94 "WARNING: mount of %s denied due bad sb csum type\n", fs->e2fs_fsmnt); in ext2_sb_csum_verify()
97 if (le32toh(fs->e2fs->e4fs_sbchksum) != in ext2_sb_csum_verify()
98 calculate_crc32c(~0, (const char *)fs->e2fs, in ext2_sb_csum_verify()
102 fs->e2fs_fsmnt, le32toh(fs->e2fs->e4fs_sbchksum), in ext2_sb_csum_verify()
103 calculate_crc32c(~0, (const char *)fs->e2fs, in ext2_sb_csum_verify()
112 ext2_sb_csum_set(struct m_ext2fs *fs) in ext2_sb_csum_set() argument
115 fs->e2fs->e4fs_sbchksum = in ext2_sb_csum_set()
116 htole32(calculate_crc32c(~0, (const char *)fs->e2fs, in ext2_sb_csum_set()
124 struct m_ext2fs *fs; in ext2_extattr_blk_csum() local
129 fs = ip->i_e2fs; in ext2_extattr_blk_csum()
131 crc = calculate_crc32c(fs->e2fs_csum_seed, (uint8_t *)&facl_bn, in ext2_extattr_blk_csum()
138 fs->e2fs_bsize - offset); in ext2_extattr_blk_csum()
182 struct m_ext2fs *fs; in ext2_is_dirent_tail() local
185 fs = ip->i_e2fs; in ext2_is_dirent_tail()
187 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_is_dirent_tail()
230 struct m_ext2fs *fs; in ext2_dirent_csum() local
234 fs = ip->i_e2fs; in ext2_dirent_csum()
240 crc = calculate_crc32c(fs->e2fs_csum_seed, (uint8_t *)&inum, sizeof(inum)); in ext2_dirent_csum()
297 struct m_ext2fs *fs; in ext2_dx_csum() local
302 fs = ip->i_e2fs; in ext2_dx_csum()
312 crc = calculate_crc32c(fs->e2fs_csum_seed, (uint8_t *)&inum, sizeof(inum)); in ext2_dx_csum()
351 struct m_ext2fs *fs; in ext2_dir_blk_csum_verify() local
355 fs = ip->i_e2fs; in ext2_dir_blk_csum_verify()
357 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_dir_blk_csum_verify()
376 struct m_ext2fs *fs; in ext2_dirent_csum_set() local
379 fs = ip->i_e2fs; in ext2_dirent_csum_set()
381 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_dirent_csum_set()
395 struct m_ext2fs *fs; in ext2_dx_csum_set() local
400 fs = ip->i_e2fs; in ext2_dx_csum_set()
402 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_dx_csum_set()
422 struct m_ext2fs *fs; in ext2_extent_blk_csum() local
426 fs = ip->i_e2fs; in ext2_extent_blk_csum()
433 crc = calculate_crc32c(fs->e2fs_csum_seed, (uint8_t *)&inum, sizeof(inum)); in ext2_extent_blk_csum()
443 struct m_ext2fs *fs; in ext2_extent_blk_csum_verify() local
448 fs = ip->i_e2fs; in ext2_extent_blk_csum_verify()
450 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_extent_blk_csum_verify()
471 struct m_ext2fs *fs; in ext2_extent_blk_csum_set() local
475 fs = ip->i_e2fs; in ext2_extent_blk_csum_set()
477 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_extent_blk_csum_set()
489 ext2_gd_i_bitmap_csum_verify(struct m_ext2fs *fs, int cg, struct buf *bp) in ext2_gd_i_bitmap_csum_verify() argument
493 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_gd_i_bitmap_csum_verify()
496 provided = le16toh(fs->e2fs_gd[cg].ext4bgd_i_bmap_csum); in ext2_gd_i_bitmap_csum_verify()
497 calculated = calculate_crc32c(fs->e2fs_csum_seed, bp->b_data, in ext2_gd_i_bitmap_csum_verify()
498 fs->e2fs_ipg / 8); in ext2_gd_i_bitmap_csum_verify()
499 if (le16toh(fs->e2fs->e3fs_desc_size) >= in ext2_gd_i_bitmap_csum_verify()
501 hi = le16toh(fs->e2fs_gd[cg].ext4bgd_i_bmap_csum_hi); in ext2_gd_i_bitmap_csum_verify()
515 ext2_gd_i_bitmap_csum_set(struct m_ext2fs *fs, int cg, struct buf *bp) in ext2_gd_i_bitmap_csum_set() argument
519 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_gd_i_bitmap_csum_set()
522 csum = calculate_crc32c(fs->e2fs_csum_seed, bp->b_data, in ext2_gd_i_bitmap_csum_set()
523 fs->e2fs_ipg / 8); in ext2_gd_i_bitmap_csum_set()
524 fs->e2fs_gd[cg].ext4bgd_i_bmap_csum = htole16(csum & 0xFFFF); in ext2_gd_i_bitmap_csum_set()
525 if (le16toh(fs->e2fs->e3fs_desc_size) >= EXT2_BG_INODE_BITMAP_CSUM_HI_END) in ext2_gd_i_bitmap_csum_set()
526 fs->e2fs_gd[cg].ext4bgd_i_bmap_csum_hi = htole16(csum >> 16); in ext2_gd_i_bitmap_csum_set()
530 ext2_gd_b_bitmap_csum_verify(struct m_ext2fs *fs, int cg, struct buf *bp) in ext2_gd_b_bitmap_csum_verify() argument
534 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_gd_b_bitmap_csum_verify()
537 size = fs->e2fs_fpg / 8; in ext2_gd_b_bitmap_csum_verify()
538 provided = le16toh(fs->e2fs_gd[cg].ext4bgd_b_bmap_csum); in ext2_gd_b_bitmap_csum_verify()
539 calculated = calculate_crc32c(fs->e2fs_csum_seed, bp->b_data, size); in ext2_gd_b_bitmap_csum_verify()
540 if (le16toh(fs->e2fs->e3fs_desc_size) >= in ext2_gd_b_bitmap_csum_verify()
542 hi = le16toh(fs->e2fs_gd[cg].ext4bgd_b_bmap_csum_hi); in ext2_gd_b_bitmap_csum_verify()
556 ext2_gd_b_bitmap_csum_set(struct m_ext2fs *fs, int cg, struct buf *bp) in ext2_gd_b_bitmap_csum_set() argument
560 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_gd_b_bitmap_csum_set()
563 size = fs->e2fs_fpg / 8; in ext2_gd_b_bitmap_csum_set()
564 csum = calculate_crc32c(fs->e2fs_csum_seed, bp->b_data, size); in ext2_gd_b_bitmap_csum_set()
565 fs->e2fs_gd[cg].ext4bgd_b_bmap_csum = htole16(csum & 0xFFFF); in ext2_gd_b_bitmap_csum_set()
566 if (le16toh(fs->e2fs->e3fs_desc_size) >= EXT2_BG_BLOCK_BITMAP_CSUM_HI_LOCATION) in ext2_gd_b_bitmap_csum_set()
567 fs->e2fs_gd[cg].ext4bgd_b_bmap_csum_hi = htole16(csum >> 16); in ext2_gd_b_bitmap_csum_set()
573 struct m_ext2fs *fs; in ext2_ei_csum() local
578 fs = ip->i_e2fs; in ext2_ei_csum()
582 crc = calculate_crc32c(fs->e2fs_csum_seed, in ext2_ei_csum()
594 if (EXT2_INODE_SIZE(fs) > E2FS_REV0_INODE_SIZE) { in ext2_ei_csum()
608 EXT2_INODE_SIZE(fs) - offset); in ext2_ei_csum()
617 struct m_ext2fs *fs; in ext2_ei_csum_verify() local
621 fs = ip->i_e2fs; in ext2_ei_csum_verify()
623 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_ei_csum_verify()
629 if ((EXT2_INODE_SIZE(fs) > E2FS_REV0_INODE_SIZE && in ext2_ei_csum_verify()
656 struct m_ext2fs *fs; in ext2_ei_csum_set() local
659 fs = ip->i_e2fs; in ext2_ei_csum_set()
661 if (!EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) in ext2_ei_csum_set()
667 if ((EXT2_INODE_SIZE(fs) > E2FS_REV0_INODE_SIZE && in ext2_ei_csum_set()
673 ext2_gd_csum(struct m_ext2fs *fs, uint32_t block_group, struct ext2_gd *gd) in ext2_gd_csum() argument
683 if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) { in ext2_gd_csum()
684 csum32 = calculate_crc32c(fs->e2fs_csum_seed, in ext2_gd_csum()
691 if (offset < le16toh(fs->e2fs->e3fs_desc_size)) in ext2_gd_csum()
693 le16toh(fs->e2fs->e3fs_desc_size) - offset); in ext2_gd_csum()
697 } else if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_GDT_CSUM)) { in ext2_gd_csum()
698 crc = crc16(~0, fs->e2fs->e2fs_uuid, in ext2_gd_csum()
699 sizeof(fs->e2fs->e2fs_uuid)); in ext2_gd_csum()
704 if (EXT2_HAS_INCOMPAT_FEATURE(fs, EXT2F_INCOMPAT_64BIT) && in ext2_gd_csum()
705 offset < le16toh(fs->e2fs->e3fs_desc_size)) in ext2_gd_csum()
707 le16toh(fs->e2fs->e3fs_desc_size) - offset); in ext2_gd_csum()
715 ext2_gd_csum_verify(struct m_ext2fs *fs, struct cdev *dev) in ext2_gd_csum_verify() argument
720 for (i = 0; i < fs->e2fs_gcount; i++) { in ext2_gd_csum_verify()
721 if (fs->e2fs_gd[i].ext4bgd_csum != in ext2_gd_csum_verify()
722 ext2_gd_csum(fs, i, &fs->e2fs_gd[i])) { in ext2_gd_csum_verify()
725 devtoname(dev), i, fs->e2fs_gd[i].ext4bgd_csum, in ext2_gd_csum_verify()
726 ext2_gd_csum(fs, i, &fs->e2fs_gd[i])); in ext2_gd_csum_verify()
736 ext2_gd_csum_set(struct m_ext2fs *fs) in ext2_gd_csum_set() argument
740 for (i = 0; i < fs->e2fs_gcount; i++) in ext2_gd_csum_set()
741 fs->e2fs_gd[i].ext4bgd_csum = ext2_gd_csum(fs, i, &fs->e2fs_gd[i]); in ext2_gd_csum_set()