diff --git a/[refs] b/[refs] index 15b2376ca741..c9bcac5a82d6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 344324f10fad05e40b1047c5e09ebbc77e43c24f +refs/heads/master: fd8bb65f796f041ee6ba400255ca9021bc45a992 diff --git a/trunk/fs/f2fs/recovery.c b/trunk/fs/f2fs/recovery.c index 207e2c865c7e..b571fee677d5 100644 --- a/trunk/fs/f2fs/recovery.c +++ b/trunk/fs/f2fs/recovery.c @@ -144,14 +144,15 @@ static int find_fsync_dnodes(struct f2fs_sb_info *sbi, struct list_head *head) goto out; } - INIT_LIST_HEAD(&entry->list); - list_add_tail(&entry->list, head); - entry->inode = f2fs_iget(sbi->sb, ino_of_node(page)); if (IS_ERR(entry->inode)) { err = PTR_ERR(entry->inode); + kmem_cache_free(fsync_entry_slab, entry); goto out; } + + INIT_LIST_HEAD(&entry->list); + list_add_tail(&entry->list, head); entry->blkaddr = blkaddr; } if (IS_INODE(page)) {