提交 156e7431 编写于 作者: N Namhyung Kim 提交者: Jan Kara

ext3: Add more journal error check

Check return value of ext3_journal_get_write_acccess() and
ext3_journal_dirty_metadata().
Signed-off-by: NNamhyung Kim <namhyung@gmail.com>
Signed-off-by: NJan Kara <jack@suse.cz>
上级 41dc6385
...@@ -2145,13 +2145,15 @@ static void ext3_clear_blocks(handle_t *handle, struct inode *inode, ...@@ -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, ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册