|
@@ -378,7 +378,6 @@ void ext4fs_update_parent_dentry(char *filename, int *p_ino, int file_type)
|
|
|
struct ext_filesystem *fs = get_fs();
|
|
|
/* directory entry */
|
|
|
struct ext2_dirent *dir;
|
|
|
- char *ptr = NULL;
|
|
|
char *temp_dir = NULL;
|
|
|
|
|
|
zero_buffer = zalloc(fs->blksz);
|
|
@@ -415,7 +414,6 @@ restart:
|
|
|
if (ext4fs_log_journal(root_first_block_buffer, first_block_no_of_root))
|
|
|
goto fail;
|
|
|
dir = (struct ext2_dirent *)root_first_block_buffer;
|
|
|
- ptr = (char *)dir;
|
|
|
totalbytes = 0;
|
|
|
while (dir->direntlen > 0) {
|
|
|
/*
|
|
@@ -483,14 +481,12 @@ restart:
|
|
|
break;
|
|
|
|
|
|
dir = (struct ext2_dirent *)((char *)dir + templength);
|
|
|
- ptr = (char *)dir;
|
|
|
}
|
|
|
|
|
|
/* make a pointer ready for creating next directory entry */
|
|
|
templength = dir->direntlen;
|
|
|
totalbytes = totalbytes + templength;
|
|
|
dir = (struct ext2_dirent *)((char *)dir + templength);
|
|
|
- ptr = (char *)dir;
|
|
|
|
|
|
/* get the next available inode number */
|
|
|
inodeno = ext4fs_get_new_inode_no();
|
|
@@ -1200,6 +1196,11 @@ static void alloc_double_indirect_block(struct ext2_inode *file_inode,
|
|
|
status = ext4fs_devread(di_blockno_parent *
|
|
|
fs->sect_perblk, 0,
|
|
|
fs->blksz, (char *)di_parent_buffer);
|
|
|
+
|
|
|
+ if (!status) {
|
|
|
+ printf("%s: Device read error!\n", __func__);
|
|
|
+ goto fail;
|
|
|
+ }
|
|
|
memset(di_parent_buffer, '\0', fs->blksz);
|
|
|
|
|
|
/*
|
|
@@ -1227,6 +1228,11 @@ static void alloc_double_indirect_block(struct ext2_inode *file_inode,
|
|
|
fs->sect_perblk, 0,
|
|
|
fs->blksz,
|
|
|
(char *)di_child_buff);
|
|
|
+
|
|
|
+ if (!status) {
|
|
|
+ printf("%s: Device read error!\n", __func__);
|
|
|
+ goto fail;
|
|
|
+ }
|
|
|
memset(di_child_buff, '\0', fs->blksz);
|
|
|
/* filling of actual datablocks for each child */
|
|
|
for (j = 0; j < (fs->blksz / sizeof(int)); j++) {
|