Showing error 1000

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/xfs/xfs_inode_item.c
Line in file: 1066
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-03-02 21:35:18 UTC


Source:

1036
1037        iip = ip->i_itemp;
1038        mp = ip->i_mount;
1039        if (iip) {
1040                if (iip->ili_item.li_flags & XFS_LI_IN_AIL) {
1041                        spin_lock(&mp->m_ail_lock);
1042                        if (iip->ili_item.li_flags & XFS_LI_IN_AIL) {
1043                                /*
1044                                 * xfs_trans_delete_ail() drops the AIL lock.
1045                                 */
1046                                xfs_trans_delete_ail(mp, (xfs_log_item_t *)iip);
1047                        } else
1048                                spin_unlock(&mp->m_ail_lock);
1049                }
1050                iip->ili_logged = 0;
1051                /*
1052                 * Clear the ili_last_fields bits now that we know that the
1053                 * data corresponding to them is safely on disk.
1054                 */
1055                iip->ili_last_fields = 0;
1056                /*
1057                 * Clear the inode logging fields so no more flushes are
1058                 * attempted.
1059                 */
1060                iip->ili_format.ilf_fields = 0;
1061        }
1062        /*
1063         * Release the inode's flush lock since we're done with it.
1064         */
1065        xfs_ifunlock(ip);
1066}
1067
1068void
1069xfs_istale_done(
1070        xfs_buf_t                *bp,
1071        xfs_inode_log_item_t        *iip)
1072{
1073        xfs_iflush_abort(iip->ili_inode);
1074}
1075
1076/*
Show full sources