diff options
Diffstat (limited to 'fs/ext4/ext4_jbd2.c')
-rw-r--r-- | fs/ext4/ext4_jbd2.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c index 53d2764d71c..cfd27b38fa1 100644 --- a/fs/ext4/ext4_jbd2.c +++ b/fs/ext4/ext4_jbd2.c | |||
@@ -143,3 +143,19 @@ int __ext4_handle_dirty_metadata(const char *where, handle_t *handle, | |||
143 | } | 143 | } |
144 | return err; | 144 | return err; |
145 | } | 145 | } |
146 | |||
147 | int __ext4_handle_dirty_super(const char *where, handle_t *handle, | ||
148 | struct super_block *sb) | ||
149 | { | ||
150 | struct buffer_head *bh = EXT4_SB(sb)->s_sbh; | ||
151 | int err = 0; | ||
152 | |||
153 | if (ext4_handle_valid(handle)) { | ||
154 | err = jbd2_journal_dirty_metadata(handle, bh); | ||
155 | if (err) | ||
156 | ext4_journal_abort_handle(where, __func__, bh, | ||
157 | handle, err); | ||
158 | } else | ||
159 | sb->s_dirt = 1; | ||
160 | return err; | ||
161 | } | ||