Showing error 1377

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/quota/xfs_dquot_item.c
Line in file: 581
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

551
552/*
553 * There isn't much you can do to push on an quotaoff item.  It is simply
554 * stuck waiting for the log to be flushed to disk.
555 */
556/*ARGSUSED*/
557STATIC void
558xfs_qm_qoff_logitem_push(xfs_qoff_logitem_t *qf)
559{
560        return;
561}
562
563
564/*ARGSUSED*/
565STATIC xfs_lsn_t
566xfs_qm_qoffend_logitem_committed(
567        xfs_qoff_logitem_t *qfe,
568        xfs_lsn_t lsn)
569{
570        xfs_qoff_logitem_t        *qfs;
571
572        qfs = qfe->qql_start_lip;
573        spin_lock(&qfs->qql_item.li_mountp->m_ail_lock);
574        /*
575         * Delete the qoff-start logitem from the AIL.
576         * xfs_trans_delete_ail() drops the AIL lock.
577         */
578        xfs_trans_delete_ail(qfs->qql_item.li_mountp, (xfs_log_item_t *)qfs);
579        kmem_free(qfs);
580        kmem_free(qfe);
581        return (xfs_lsn_t)-1;
582}
583
584/*
585 * XXX rcc - don't know quite what to do with this.  I think we can
586 * just ignore it.  The only time that isn't the case is if we allow
587 * the client to somehow see that quotas have been turned off in which
588 * we can't allow that to get back until the quotaoff hits the disk.
589 * So how would that happen?  Also, do we need different routines for
590 * quotaoff start and quotaoff end?  I suspect the answer is yes but
591 * to be sure, I need to look at the recovery code and see how quota off
Show full sources