/*
* expand.c --- expand an ext2fs directory
- *
+ *
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999 Theodore Ts'o.
*
* %Begin-Header%
static blk_t last_blk = 0;
char *block;
errcode_t retval;
-
+
if (*blocknr) {
last_blk = *blocknr;
return 0;
}
memset(block, 0, fs->blocksize);
retval = io_channel_write_blk(fs->io, new_blk, 1, block);
- }
+ }
if (retval) {
es->err = retval;
return BLOCK_ABORT;
errcode_t retval;
struct expand_dir_struct es;
struct ext2_inode inode;
-
+
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
if (!(fs->flags & EXT2_FLAG_RW))
retval = ext2fs_check_directory(fs, dir);
if (retval)
return retval;
-
+
es.done = 0;
es.err = 0;
es.newblocks = 0;
-
+
retval = ext2fs_block_iterate2(fs, dir, BLOCK_FLAG_APPEND,
0, expand_dir_proc, &es);
retval = ext2fs_read_inode(fs, dir, &inode);
if (retval)
return retval;
-
+
inode.i_size += fs->blocksize;
ext2fs_iblk_add_blocks(fs, &inode, es.newblocks);