Lines Matching full:inode
163 /* Given an allocation, attach as many blocks as possible to direct inode
165 static int inode_attach_direct_blocks(struct ext4_inode *inode,
172 inode->i_block[i] = get_block(alloc, i);
188 static int inode_attach_indirect_blocks(struct ext4_inode *inode,
194 inode->i_block[EXT4_IND_BLOCK] = ind_block;
219 static int inode_attach_dindirect_blocks(struct ext4_inode *inode,
225 inode->i_block[EXT4_DIND_BLOCK] = dind_block;
250 static int inode_attach_tindirect_blocks(struct ext4_inode *inode,
256 inode->i_block[EXT4_TIND_BLOCK] = tind_block;
342 static int do_inode_attach_indirect(struct ext4_inode *inode,
347 if (inode_attach_direct_blocks(inode, alloc, &count)) {
348 error("failed to attach direct blocks to inode");
353 if (inode_attach_indirect_blocks(inode, alloc, &count)) {
354 error("failed to attach indirect blocks to inode");
360 if (inode_attach_dindirect_blocks(inode, alloc, &count)) {
361 error("failed to attach dindirect blocks to inode");
367 if (inode_attach_tindirect_blocks(inode, alloc, &count)) {
368 error("failed to attach tindirect blocks to inode");
384 struct ext4_inode *inode, u32 block_len)
398 /* Allocates enough blocks to hold len bytes and connects them to an inode */
399 void inode_allocate_indirect(struct ext4_inode *inode, unsigned long len)
405 alloc = do_inode_allocate_indirect(inode, block_len);
414 if (do_inode_attach_indirect(inode, alloc, block_len))
415 error("failed to attach blocks to indirect inode");
417 inode->i_flags = 0;
418 inode->i_blocks_lo = (block_len + indirect_len) * info.block_size / 512;
419 inode->i_size_lo = len;
424 void inode_attach_resize(struct ext4_inode *inode,
472 inode->i_block[EXT4_DIND_BLOCK] = dind_block;
473 inode->i_flags = 0;
474 inode->i_blocks_lo = blocks;
475 inode->osd2.linux2.l_i_blocks_high = blocks >> 32;
476 inode->i_size_lo = size;
477 inode->i_size_high = size >> 32;
481 buffer, and connects them to an inode. Returns a pointer to the data
483 u8 *inode_allocate_data_indirect(struct ext4_inode *inode, unsigned long len,
489 alloc = do_inode_allocate_indirect(inode, len);