|
@@ -6,29 +6,29 @@
|
|
|
|
|
|
#include <trace/events/ext4.h>
|
|
|
|
|
|
-int __ext4_journal_get_undo_access(const char *where, handle_t *handle,
|
|
|
- struct buffer_head *bh)
|
|
|
+int __ext4_journal_get_undo_access(const char *where, unsigned int line,
|
|
|
+ handle_t *handle, struct buffer_head *bh)
|
|
|
{
|
|
|
int err = 0;
|
|
|
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_get_undo_access(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
+ ext4_journal_abort_handle(where, line, __func__, bh,
|
|
|
handle, err);
|
|
|
}
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-int __ext4_journal_get_write_access(const char *where, handle_t *handle,
|
|
|
- struct buffer_head *bh)
|
|
|
+int __ext4_journal_get_write_access(const char *where, unsigned int line,
|
|
|
+ handle_t *handle, struct buffer_head *bh)
|
|
|
{
|
|
|
int err = 0;
|
|
|
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_get_write_access(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
+ ext4_journal_abort_handle(where, line, __func__, bh,
|
|
|
handle, err);
|
|
|
}
|
|
|
return err;
|
|
@@ -46,9 +46,9 @@ int __ext4_journal_get_write_access(const char *where, handle_t *handle,
|
|
|
* If the handle isn't valid we're not journaling, but we still need to
|
|
|
* call into ext4_journal_revoke() to put the buffer head.
|
|
|
*/
|
|
|
-int __ext4_forget(const char *where, handle_t *handle, int is_metadata,
|
|
|
- struct inode *inode, struct buffer_head *bh,
|
|
|
- ext4_fsblk_t blocknr)
|
|
|
+int __ext4_forget(const char *where, unsigned int line, handle_t *handle,
|
|
|
+ int is_metadata, struct inode *inode,
|
|
|
+ struct buffer_head *bh, ext4_fsblk_t blocknr)
|
|
|
{
|
|
|
int err;
|
|
|
|
|
@@ -79,8 +79,8 @@ int __ext4_forget(const char *where, handle_t *handle, int is_metadata,
|
|
|
BUFFER_TRACE(bh, "call jbd2_journal_forget");
|
|
|
err = jbd2_journal_forget(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
- handle, err);
|
|
|
+ ext4_journal_abort_handle(where, line, __func__,
|
|
|
+ bh, handle, err);
|
|
|
return err;
|
|
|
}
|
|
|
return 0;
|
|
@@ -92,7 +92,8 @@ int __ext4_forget(const char *where, handle_t *handle, int is_metadata,
|
|
|
BUFFER_TRACE(bh, "call jbd2_journal_revoke");
|
|
|
err = jbd2_journal_revoke(handle, blocknr, bh);
|
|
|
if (err) {
|
|
|
- ext4_journal_abort_handle(where, __func__, bh, handle, err);
|
|
|
+ ext4_journal_abort_handle(where, line, __func__,
|
|
|
+ bh, handle, err);
|
|
|
__ext4_abort(inode->i_sb, where,
|
|
|
"error %d when attempting revoke", err);
|
|
|
}
|
|
@@ -100,7 +101,7 @@ int __ext4_forget(const char *where, handle_t *handle, int is_metadata,
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-int __ext4_journal_get_create_access(const char *where,
|
|
|
+int __ext4_journal_get_create_access(const char *where, unsigned int line,
|
|
|
handle_t *handle, struct buffer_head *bh)
|
|
|
{
|
|
|
int err = 0;
|
|
@@ -108,22 +109,23 @@ int __ext4_journal_get_create_access(const char *where,
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_get_create_access(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
- handle, err);
|
|
|
+ ext4_journal_abort_handle(where, line, __func__,
|
|
|
+ bh, handle, err);
|
|
|
}
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-int __ext4_handle_dirty_metadata(const char *where, handle_t *handle,
|
|
|
- struct inode *inode, struct buffer_head *bh)
|
|
|
+int __ext4_handle_dirty_metadata(const char *where, unsigned int line,
|
|
|
+ handle_t *handle, struct inode *inode,
|
|
|
+ struct buffer_head *bh)
|
|
|
{
|
|
|
int err = 0;
|
|
|
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_dirty_metadata(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
- handle, err);
|
|
|
+ ext4_journal_abort_handle(where, line, __func__,
|
|
|
+ bh, handle, err);
|
|
|
} else {
|
|
|
if (inode)
|
|
|
mark_buffer_dirty_inode(bh, inode);
|
|
@@ -144,8 +146,8 @@ int __ext4_handle_dirty_metadata(const char *where, handle_t *handle,
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-int __ext4_handle_dirty_super(const char *where, handle_t *handle,
|
|
|
- struct super_block *sb)
|
|
|
+int __ext4_handle_dirty_super(const char *where, unsigned int line,
|
|
|
+ handle_t *handle, struct super_block *sb)
|
|
|
{
|
|
|
struct buffer_head *bh = EXT4_SB(sb)->s_sbh;
|
|
|
int err = 0;
|
|
@@ -153,8 +155,8 @@ int __ext4_handle_dirty_super(const char *where, handle_t *handle,
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_dirty_metadata(handle, bh);
|
|
|
if (err)
|
|
|
- ext4_journal_abort_handle(where, __func__, bh,
|
|
|
- handle, err);
|
|
|
+ ext4_journal_abort_handle(where, line, __func__,
|
|
|
+ bh, handle, err);
|
|
|
} else
|
|
|
sb->s_dirt = 1;
|
|
|
return err;
|