ext3: Add more journal error check
Check return value of ext3_journal_get_write_acccess() and ext3_journal_dirty_metadata(). Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
@@ -2145,13 +2145,15 @@ static void ext3_clear_blocks(handle_t *handle, struct inode *inode,
|
|||||||
if (try_to_extend_transaction(handle, inode)) {
|
if (try_to_extend_transaction(handle, inode)) {
|
||||||
if (bh) {
|
if (bh) {
|
||||||
BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata");
|
BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata");
|
||||||
ext3_journal_dirty_metadata(handle, bh);
|
if (ext3_journal_dirty_metadata(handle, bh))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
ext3_mark_inode_dirty(handle, inode);
|
ext3_mark_inode_dirty(handle, inode);
|
||||||
truncate_restart_transaction(handle, inode);
|
truncate_restart_transaction(handle, inode);
|
||||||
if (bh) {
|
if (bh) {
|
||||||
BUFFER_TRACE(bh, "retaking write access");
|
BUFFER_TRACE(bh, "retaking write access");
|
||||||
ext3_journal_get_write_access(handle, bh);
|
if (ext3_journal_get_write_access(handle, bh))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1598,7 +1598,9 @@ static int ext3_dx_add_entry(handle_t *handle, struct dentry *dentry,
|
|||||||
if (err)
|
if (err)
|
||||||
goto journal_error;
|
goto journal_error;
|
||||||
}
|
}
|
||||||
ext3_journal_dirty_metadata(handle, frames[0].bh);
|
err = ext3_journal_dirty_metadata(handle, frames[0].bh);
|
||||||
|
if (err)
|
||||||
|
goto journal_error;
|
||||||
}
|
}
|
||||||
de = do_split(handle, dir, &bh, frame, &hinfo, &err);
|
de = do_split(handle, dir, &bh, frame, &hinfo, &err);
|
||||||
if (!de)
|
if (!de)
|
||||||
|
Reference in New Issue
Block a user