Lines Matching defs:fs

14  * based on code from grub2 fs/ext2.c and fs/fshelp.c by
52 (const struct ext_filesystem *fs, uint32_t bg_idx)
54 return (struct ext2_block_group *)(fs->gdtable + (bg_idx * fs->gdsize));
73 (struct ext2_block_group *bg, const struct ext_filesystem *fs)
76 if (fs->gdsize == 64)
81 if (fs->gdsize == 64)
86 (struct ext2_block_group *bg, const struct ext_filesystem *fs)
89 if (fs->gdsize == 64)
94 if (fs->gdsize == 64)
99 (struct ext2_block_group *bg, const struct ext_filesystem *fs)
102 if (fs->gdsize == 64)
107 if (fs->gdsize == 64)
125 const struct ext_filesystem *fs)
128 if (fs->gdsize == 64)
135 const struct ext_filesystem *fs)
138 if (fs->gdsize == 64)
156 const struct ext_filesystem *fs)
159 if (fs->gdsize == 64)
166 const struct ext_filesystem *fs)
169 if (fs->gdsize == 64)
177 const struct ext_filesystem *fs)
180 if (fs->gdsize == 64)
201 struct ext_filesystem *fs = get_fs();
202 int log2blksz = fs->dev_desc->log2blksz;
203 ALLOC_CACHE_ALIGN_BUFFER(unsigned char, sec_buf, fs->dev_desc->blksz);
207 remainder = off & (uint64_t)(fs->dev_desc->blksz - 1);
209 if (fs->dev_desc == NULL)
213 (part_offset + fs->total_sect)) {
215 printf("total_sector is %llu\n", fs->total_sect);
221 blk_dread(fs->dev_desc, startblock, 1, sec_buf);
224 blk_dwrite(fs->dev_desc, startblock, 1, sec_buf);
227 blk_dwrite(fs->dev_desc, startblock, size >> log2blksz,
230 blk_dread(fs->dev_desc, startblock, 1, sec_buf);
233 blk_dwrite(fs->dev_desc, startblock, 1,
241 struct ext_filesystem *fs = get_fs();
256 for (j = 0; j < fs->blksz; j++) {
282 struct ext_filesystem *fs = get_fs();
287 if (count == (fs->blksz * 8))
291 if (fs->blksz == 1024)
422 struct ext_filesystem *fs = get_fs();
426 desc = ext4fs_get_group_descriptor(fs, i);
427 if (le32_to_cpu(fs->sb->feature_ro_compat) & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) {
430 crc = crc16(~0, (__u8 *)fs->sb->unique_id,
431 sizeof(fs->sb->unique_id));
436 if (offset < fs->gdsize) {
438 fs->gdsize - offset);
487 struct ext_filesystem *fs = get_fs();
496 zero_buffer = zalloc(fs->blksz);
501 root_first_block_buffer = zalloc(fs->blksz);
522 * fs->sect_perblk,
523 0, fs->blksz, root_first_block_buffer);
537 if (fs->blksz - totalbytes == le16_to_cpu(dir->direntlen)) {
566 put_ext4((uint64_t)new_blk_no * fs->blksz, zero_buffer, fs->blksz);
572 new_size += fs->blksz;
576 new_blockcnt += fs->blksz >> LOG2_SECTOR_SIZE;
611 dir->direntlen = cpu_to_le16(fs->blksz - totalbytes);
640 struct ext_filesystem *fs = get_fs();
647 block_buffer = zalloc(fs->blksz);
658 status = ext4fs_devread((lbaint_t)blknr * fs->sect_perblk,
659 0, fs->blksz, (char *)block_buffer);
685 } while (offset < fs->blksz);
874 struct ext_filesystem *fs = get_fs();
878 block_buffer = zalloc(fs->blksz);
883 status = ext4fs_devread((lbaint_t)blknr * fs->sect_perblk, 0,
884 fs->blksz, block_buffer);
911 } while (offset < fs->blksz);
969 struct ext_filesystem *fs = get_fs();
970 char *journal_buffer = zalloc(fs->blksz);
971 char *zero_buffer = zalloc(fs->blksz);
975 if (fs->first_pass_bbmap == 0) {
976 for (i = 0; i < fs->no_blkgrp; i++) {
978 bgd = ext4fs_get_group_descriptor(fs, i);
979 if (ext4fs_bg_get_free_blocks(bgd, fs)) {
982 ext4fs_bg_get_block_id(bgd, fs);
984 memcpy(fs->blk_bmaps[i], zero_buffer,
985 fs->blksz);
986 put_ext4(b_bitmap_blk * fs->blksz,
987 fs->blk_bmaps[i], fs->blksz);
991 fs->curr_blkno =
992 _get_new_blk_no(fs->blk_bmaps[i]);
993 if (fs->curr_blkno == -1)
996 fs->curr_blkno = fs->curr_blkno +
997 (i * fs->blksz * 8);
998 fs->first_pass_bbmap++;
999 ext4fs_bg_free_blocks_dec(bgd, fs);
1000 ext4fs_sb_free_blocks_dec(fs->sb);
1002 fs->sect_perblk,
1003 0, fs->blksz,
1018 fs->curr_blkno++;
1021 bg_idx = fs->curr_blkno / blk_per_grp;
1022 if (fs->blksz == 1024) {
1023 remainder = fs->curr_blkno % blk_per_grp;
1032 if (bg_idx >= fs->no_blkgrp)
1036 bgd = ext4fs_get_group_descriptor(fs, bg_idx);
1037 if (ext4fs_bg_get_free_blocks(bgd, fs) == 0) {
1039 fs->curr_blkno = (bg_idx + 1) * blk_per_grp;
1040 if (fs->blksz == 1024)
1041 fs->curr_blkno += 1;
1046 uint64_t b_bitmap_blk = ext4fs_bg_get_block_id(bgd, fs);
1048 memcpy(fs->blk_bmaps[bg_idx], zero_buffer, fs->blksz);
1049 put_ext4(b_bitmap_blk * fs->blksz,
1050 zero_buffer, fs->blksz);
1055 if (ext4fs_set_block_bmap(fs->curr_blkno, fs->blk_bmaps[bg_idx],
1058 fs->curr_blkno, bg_idx);
1059 fs->curr_blkno++;
1065 status = ext4fs_devread(b_bitmap_blk * fs->sect_perblk,
1066 0, fs->blksz, journal_buffer);
1074 ext4fs_bg_free_blocks_dec(bgd, fs);
1075 ext4fs_sb_free_blocks_dec(fs->sb);
1082 return fs->curr_blkno;
1097 struct ext_filesystem *fs = get_fs();
1098 char *journal_buffer = zalloc(fs->blksz);
1099 char *zero_buffer = zalloc(fs->blksz);
1102 int has_gdt_chksum = le32_to_cpu(fs->sb->feature_ro_compat) &
1105 if (fs->first_pass_ibmap == 0) {
1106 for (i = 0; i < fs->no_blkgrp; i++) {
1109 bgd = ext4fs_get_group_descriptor(fs, i);
1110 free_inodes = ext4fs_bg_get_free_inodes(bgd, fs);
1114 ext4fs_bg_get_inode_id(bgd, fs);
1118 put_ext4(i_bitmap_blk * fs->blksz,
1119 zero_buffer, fs->blksz);
1122 memcpy(fs->inode_bmaps[i],
1123 zero_buffer, fs->blksz);
1125 fs->curr_inode_no =
1126 _get_new_inode_no(fs->inode_bmaps[i]);
1127 if (fs->curr_inode_no == -1)
1130 fs->curr_inode_no = fs->curr_inode_no +
1132 fs->first_pass_ibmap++;
1133 ext4fs_bg_free_inodes_dec(bgd, fs);
1135 ext4fs_bg_itable_unused_dec(bgd, fs);
1136 ext4fs_sb_free_inodes_dec(fs->sb);
1138 fs->sect_perblk,
1139 0, fs->blksz,
1153 fs->curr_inode_no++;
1155 ibmap_idx = fs->curr_inode_no / inodes_per_grp;
1157 ext4fs_get_group_descriptor(fs, ibmap_idx);
1159 uint64_t i_bitmap_blk = ext4fs_bg_get_inode_id(bgd, fs);
1162 put_ext4(i_bitmap_blk * fs->blksz,
1163 zero_buffer, fs->blksz);
1166 memcpy(fs->inode_bmaps[ibmap_idx], zero_buffer,
1167 fs->blksz);
1170 if (ext4fs_set_inode_bmap(fs->curr_inode_no,
1171 fs->inode_bmaps[ibmap_idx],
1174 fs->curr_inode_no, ibmap_idx);
1180 status = ext4fs_devread(i_bitmap_blk * fs->sect_perblk,
1181 0, fs->blksz, journal_buffer);
1189 ext4fs_bg_free_inodes_dec(bgd, fs);
1192 ext4fs_sb_free_inodes_dec(fs->sb);
1200 return fs->curr_inode_no;
1221 struct ext_filesystem *fs = get_fs();
1224 si_buffer = zalloc(fs->blksz);
1238 status = ext4fs_devread((lbaint_t)si_blockno * fs->sect_perblk,
1239 0, fs->blksz, (char *)si_buffer);
1240 memset(si_buffer, '\0', fs->blksz);
1244 for (i = 0; i < (fs->blksz / sizeof(int)); i++) {
1261 put_ext4(((uint64_t) ((uint64_t)si_blockno * (uint64_t)fs->blksz)),
1262 si_start_addr, fs->blksz);
1284 struct ext_filesystem *fs = get_fs();
1293 di_parent_buffer = zalloc(fs->blksz);
1303 fs->sect_perblk, 0,
1304 fs->blksz, (char *)di_parent_buffer);
1310 memset(di_parent_buffer, '\0', fs->blksz);
1316 for (i = 0; i < (fs->blksz / sizeof(int)); i++) {
1322 di_child_buff = zalloc(fs->blksz);
1334 fs->sect_perblk, 0,
1335 fs->blksz,
1342 memset(di_child_buff, '\0', fs->blksz);
1344 for (j = 0; j < (fs->blksz / sizeof(int)); j++) {
1360 put_ext4(((uint64_t) ((uint64_t)di_blockno_child * (uint64_t)fs->blksz)),
1361 di_child_buff_start, fs->blksz);
1368 put_ext4(((uint64_t) ((uint64_t)di_blockno_parent * (uint64_t)fs->blksz)),
1369 di_block_start_addr, fs->blksz);
1394 struct ext_filesystem *fs = get_fs();
1402 ti_gp_buff = zalloc(fs->blksz);
1412 for (i = 0; i < (fs->blksz / sizeof(int)); i++) {
1418 ti_parent_buff = zalloc(fs->blksz);
1430 for (j = 0; j < (fs->blksz / sizeof(int)); j++) {
1436 ti_child_buff = zalloc(fs->blksz);
1448 for (k = 0; k < (fs->blksz / sizeof(int));
1468 (uint64_t)fs->blksz)),
1469 ti_cbuff_start_addr, fs->blksz);
1476 put_ext4(((uint64_t) ((uint64_t)ti_parent_blockno * (uint64_t)fs->blksz)),
1477 ti_pbuff_start_addr, fs->blksz);
1484 put_ext4(((uint64_t) ((uint64_t)ti_gp_blockno * (uint64_t)fs->blksz)),
1485 ti_gp_buff_start_addr, fs->blksz);
1599 struct ext_filesystem *fs = get_fs();
1612 if ( le32_to_cpu(sblock->inodes_per_group) == 0 || fs->inodesz == 0) {
1623 inodes_per_block = EXT2_BLOCK_SIZE(data) / fs->inodesz;
1628 blkno = ext4fs_bg_get_inode_table_id(blkgrp, fs) +
1630 blkoff = (ino % inodes_per_block) * fs->inodesz;
2369 struct ext_filesystem *fs = get_fs();
2386 fs->inodesz = 128;
2387 fs->gdsize = 32;
2394 fs->inodesz = le16_to_cpu(data->sblock.inode_size);
2395 fs->gdsize = le32_to_cpu(data->sblock.feature_incompat) &
2402 fs->inodesz, fs->gdsize);