]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/jbd/transaction.c
Merge branch 'ipg-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
[linux-2.6-omap-h63xx.git] / fs / jbd / transaction.c
index 9841b1e5af0367dbfc9cb751421425317e1a59df..038ed743619911799dfff8e27623e75f593fc60c 100644 (file)
@@ -96,13 +96,12 @@ static int start_this_handle(journal_t *journal, handle_t *handle)
 
 alloc_transaction:
        if (!journal->j_running_transaction) {
-               new_transaction = kmalloc(sizeof(*new_transaction),
+               new_transaction = kzalloc(sizeof(*new_transaction),
                                                GFP_NOFS|__GFP_NOFAIL);
                if (!new_transaction) {
                        ret = -ENOMEM;
                        goto out;
                }
-               memset(new_transaction, 0, sizeof(*new_transaction));
        }
 
        jbd_debug(3, "New handle %p going live.\n", handle);
@@ -289,10 +288,12 @@ handle_t *journal_start(journal_t *journal, int nblocks)
                jbd_free_handle(handle);
                current->journal_info = NULL;
                handle = ERR_PTR(err);
+               goto out;
        }
 
        lock_acquire(&handle->h_lockdep_map, 0, 0, 0, 2, _THIS_IP_);
 
+out:
        return handle;
 }