Showing error 1359

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: fs/ocfs2/alloc.c
Line in file: 6949
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

6919
6920        ocfs2_commit_trans(osb, handle);
6921        handle = NULL;
6922
6923        ocfs2_reinit_path(path, 1);
6924
6925        /*
6926         * The check above will catch the case where we've truncated
6927         * away all allocation.
6928         */
6929        goto start;
6930
6931bail:
6932
6933        ocfs2_schedule_truncate_log_flush(osb, 1);
6934
6935        if (tl_sem)
6936                mutex_unlock(&tl_inode->i_mutex);
6937
6938        if (handle)
6939                ocfs2_commit_trans(osb, handle);
6940
6941        ocfs2_run_deallocs(osb, &tc->tc_dealloc);
6942
6943        ocfs2_free_path(path);
6944
6945        /* This will drop the ext_alloc cluster lock for us */
6946        ocfs2_free_truncate_context(tc);
6947
6948        mlog_exit(status);
6949        return status;
6950}
6951
6952/*
6953 * Expects the inode to already be locked.
6954 */
6955int ocfs2_prepare_truncate(struct ocfs2_super *osb,
6956                           struct inode *inode,
6957                           struct buffer_head *fe_bh,
6958                           struct ocfs2_truncate_context **tc)
6959{
Show full sources