Lines Matching full:inode
18 * 1. Adjust superblock and write out new parts of the inode
22 * 3. Scan the inode table, doing the following:
26 * b. If parts of the inode table need to be evacuated,
32 * 4. Update the directory blocks with the new inode locations.
33 * 5. Move the inode tables, if necessary.
242 * initialize any new parts of the inode table. The new parts of the
243 * inode table are created in virgin disk space, so we can abort here
249 * If the group descriptor's bitmap and inode table blocks are valid,
251 * reserved so the old inode table blocks don't get overwritten.
323 * backups, the inode bitmap, the block bitmap, and the inode
413 * the inode table either now or in the future.
643 * Write out the new inode table
702 * Mark the blocks used for the inode table
716 * Mark block used for the inode bitmap
726 * superblock or a block group descriptor) overlaps with an inode or
727 * block bitmap block, or with the inode table.
739 * Check to see if we overlap with the inode or block bitmap,
740 * or the inode tables. If not, and the block is in use, then
927 * to reserve the inode table in the desired flex_bg
934 * overlapping inode table movements right. So for
971 * The inode table, if we need to relocate it, is
973 * for both the old and the new inode table, since we
974 * can't have the inode table be destroyed during the
978 goto next_group; /* inode table not moved */
983 * Mark the new inode table as in use in the new block
997 * Make sure the old inode table is reserved in the
1025 * group of the containing inode, and keep contiguous blocks
1235 struct ext2_inode * inode;
1310 struct ext2_inode *inode = NULL;
1353 pb.inode = inode;
1357 inode = malloc(inode_size);
1358 if (!inode) {
1364 * elsewhere in the inode table
1367 retval = ext2fs_get_next_inode_full(scan, &ino, inode, inode_size);
1372 if (inode->i_links_count == 0 && ino != EXT2_RESIZE_INO)
1373 continue; /* inode not in use */
1375 pb.is_dir = LINUX_S_ISDIR(inode->i_mode);
1378 if (inode->i_file_acl && rfs->bmap) {
1380 inode->i_file_acl);
1382 inode->i_file_acl = new_block;
1384 ino, inode, inode_size);
1389 if (ext2fs_inode_has_valid_blocks(inode) &&
1407 * Find a new inode
1416 /* Get the new version of the inode */
1418 inode, inode_size);
1421 inode->i_ctime = time(0);
1423 inode, inode_size);
1428 printf("Inode moved %u->%u\n", ino, new_inode);
1449 free(inode);
1475 struct ext2_inode inode;
1488 if (!dirent->inode)
1491 new_inode = ext2fs_extent_translate(is->rfs->imap, dirent->inode);
1497 printf("Inode translate (dir=%u, name=%.*s, %u->%u)\n",
1499 dirent->inode, new_inode);
1502 dirent->inode = new_inode;
1505 retval = ext2fs_read_inode(is->rfs->old_fs, dir, &inode);
1507 inode.i_mtime = inode.i_ctime = time(0);
1508 is->err = ext2fs_write_inode(is->rfs->old_fs, dir, &inode);
1526 * inode references
1565 * In this phase we actually move the inode table around, and then
1568 * inode tables around in place, and so the potential for lost data,
1570 * inode numbers is very high in case of a power failure here.)
1576 * A very scary routine --- this one moves the inode table around!!!
1603 * Figure out how many inode tables we need to move
1643 * The end of the inode table segment often contains
1644 * all zeros, and we're often only moving the inode
1698 printf("Inode table move finished.\n");
1707 * Fix the resize inode
1711 struct ext2_inode inode;
1722 retval = ext2fs_read_inode(fs, EXT2_RESIZE_INO, &inode);
1725 ext2fs_iblk_set(fs, &inode, 1);
1727 retval = ext2fs_write_inode(fs, EXT2_RESIZE_INO, &inode);
1730 if (!inode.i_block[EXT2_DIND_BLOCK]) {
1737 _("Should never happen: resize inode corrupt!\n"));
1743 retval = io_channel_write_blk(fs->io, inode.i_block[EXT2_DIND_BLOCK],
1827 * Next, calculate the inode statistics
1869 struct ext2_inode inode;
1878 retval = ext2fs_read_inode(fs, fs->super->s_journal_inum, &inode);
1881 memcpy(fs->super->s_jnl_blocks, inode.i_block, EXT2_N_BLOCKS*4);
1882 fs->super->s_jnl_blocks[16] = inode.i_size;
1929 * of inode tables of slack space so the resize
2004 * of inode tables of slack space so the resize