Merge branch 'for-rmk-rc' of git://git.pengutronix.de/git/imx/linux-2.6
[firefly-linux-kernel-4.4.55.git] / fs / ext4 / ext4_jbd2.c
index eb27fd0f2ee86dd4c8badd2ed146f2a306e1f35f..6a9409920deef2f6040b8d7279114cfc0612221d 100644 (file)
@@ -44,7 +44,7 @@ int __ext4_journal_forget(const char *where, handle_t *handle,
                                                  handle, err);
        }
        else
-               brelse(bh);
+               bforget(bh);
        return err;
 }
 
@@ -60,7 +60,7 @@ int __ext4_journal_revoke(const char *where, handle_t *handle,
                                                  handle, err);
        }
        else
-               brelse(bh);
+               bforget(bh);
        return err;
 }
 
@@ -89,7 +89,10 @@ int __ext4_handle_dirty_metadata(const char *where, handle_t *handle,
                        ext4_journal_abort_handle(where, __func__, bh,
                                                  handle, err);
        } else {
-               mark_buffer_dirty(bh);
+               if (inode && bh)
+                       mark_buffer_dirty_inode(bh, inode);
+               else
+                       mark_buffer_dirty(bh);
                if (inode && inode_needs_sync(inode)) {
                        sync_dirty_buffer(bh);
                        if (buffer_req(bh) && !buffer_uptodate(bh)) {