diff options
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/ext4_jbd2.c | 8 | ||||
-rw-r--r-- | fs/ext4/extents.c | 10 |
2 files changed, 12 insertions, 6 deletions
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c index f5240aa15601..aca179017582 100644 --- a/fs/ext4/ext4_jbd2.c +++ b/fs/ext4/ext4_jbd2.c | |||
@@ -109,9 +109,11 @@ int __ext4_handle_dirty_metadata(const char *where, unsigned int line, | |||
109 | 109 | ||
110 | if (ext4_handle_valid(handle)) { | 110 | if (ext4_handle_valid(handle)) { |
111 | err = jbd2_journal_dirty_metadata(handle, bh); | 111 | err = jbd2_journal_dirty_metadata(handle, bh); |
112 | if (err) | 112 | if (err) { |
113 | ext4_journal_abort_handle(where, line, __func__, | 113 | /* Errors can only happen if there is a bug */ |
114 | bh, handle, err); | 114 | handle->h_err = err; |
115 | __ext4_journal_stop(where, line, handle); | ||
116 | } | ||
115 | } else { | 117 | } else { |
116 | if (inode) | 118 | if (inode) |
117 | mark_buffer_dirty_inode(bh, inode); | 119 | mark_buffer_dirty_inode(bh, inode); |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 9124cd24e093..2c5216a8d03b 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -96,13 +96,17 @@ static int ext4_ext_get_access(handle_t *handle, struct inode *inode, | |||
96 | * - ENOMEM | 96 | * - ENOMEM |
97 | * - EIO | 97 | * - EIO |
98 | */ | 98 | */ |
99 | static int ext4_ext_dirty(handle_t *handle, struct inode *inode, | 99 | #define ext4_ext_dirty(handle, inode, path) \ |
100 | struct ext4_ext_path *path) | 100 | __ext4_ext_dirty(__func__, __LINE__, (handle), (inode), (path)) |
101 | static int __ext4_ext_dirty(const char *where, unsigned int line, | ||
102 | handle_t *handle, struct inode *inode, | ||
103 | struct ext4_ext_path *path) | ||
101 | { | 104 | { |
102 | int err; | 105 | int err; |
103 | if (path->p_bh) { | 106 | if (path->p_bh) { |
104 | /* path points to block */ | 107 | /* path points to block */ |
105 | err = ext4_handle_dirty_metadata(handle, inode, path->p_bh); | 108 | err = __ext4_handle_dirty_metadata(where, line, handle, |
109 | inode, path->p_bh); | ||
106 | } else { | 110 | } else { |
107 | /* path points to leaf/index in inode body */ | 111 | /* path points to leaf/index in inode body */ |
108 | err = ext4_mark_inode_dirty(handle, inode); | 112 | err = ext4_mark_inode_dirty(handle, inode); |